uclibc build error with cortex-m3 toolchain

RK Raggit rk.raggit at gmail.com
Tue Feb 2 07:34:34 UTC 2010


Hi folks,

i have a cortex-m3 toolchain with gcc configured using the following
parameters -
-----------------------------
Target: arm-cm3-uclinuxgnueabi
Configured with: ../../sources/gcc-4.4.2/configure
--target=arm-cm3-uclinuxgnueabi --prefix=/home/raghun/cortex-m3/tmp/cross
--program-prefix=arm-uclinux-uclibc-
--with-local-prefix=/home/raghun/cortex-m3/tmp/staging/usr
--with-arch=armv7-m --with-cpu=cortex-m3 --with-mode=thumb --enable-shared
--with-gnu-as --with-gnu-ld --disable-multilib --enable-threads=posix
--enable-target-optspace --enable-languages=c --disable-libssp
--disable-libgomp --disable-libmudflap --disable-nls --disable-bootstrap
--with-sysroot=/home/raghun/cortex-m3/tmp/staging
--with-build-sysroot=/home/raghun/cortex-m3/tmp/staging
Thread model: posix
gcc version 4.4.2 (GCC)
----------------------------

When i build uClibc-0.9.30.2 the compilation breaks at this point
----------------------------
arm-uclinux-uclibc-gcc -c libpthread/linuxthreads.old/mutex.c -o
libpthread/linuxthreads.old/mutex.os -include ./include/libc-symbols.h -Wall
-Wstrict-prototypes -fno-strict-aliasing -mlittle-endian -mcpu=cortex-m3
-mthumb -fno-stack-protector -fno-builtin -nostdinc -I./include -I.
-I./libc/sysdeps/linux/arm -fno-asm -DSTATIC -std=gnu99 -Os -funit-at-a-time
-fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce
-fstrict-aliasing
-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/arm
-I./libpthread/linuxthreads.old/sysdeps/arm
-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux
-I./libpthread/linuxthreads.old/sysdeps/pthread
-I./libpthread/linuxthreads.old -I./libpthread
-I/home/raghun/cortex-m3/tmp/staging/usr/include/ -isystem
/home/raghun/cortex-m3/tmp/cross/lib/gcc/arm-cm3-uclinuxgnueabi/4.4.2/include-fixed
-isystem
/home/raghun/cortex-m3/tmp/cross/lib/gcc/arm-cm3-uclinuxgnueabi/4.4.2/include
-DNDEBUG -fPIC -DNOT_IN_libc -DIS_IN_libpthread -MT
libpthread/linuxthreads.old/mutex.os -MD -MP -MF
libpthread/linuxthreads.old/.mutex.os.dep
/tmp/ccQOAtbg.s: Assembler messages:
/tmp/ccQOAtbg.s:386: Error: selected processor does not support ARM opcodes
/tmp/ccQOAtbg.s:387: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `swp r5,r5,[r4]'
/tmp/ccQOAtbg.s:388: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `orr r4,pc,#1'
/tmp/ccQOAtbg.s:389: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `bx r4'
/tmp/ccQOAtbg.s:413: Error: selected processor does not support ARM opcodes
/tmp/ccQOAtbg.s:414: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `swp r5,r5,[r3]'
/tmp/ccQOAtbg.s:415: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `orr r3,pc,#1'
/tmp/ccQOAtbg.s:416: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `bx r3'
/tmp/ccQOAtbg.s:431: Error: selected processor does not support ARM opcodes
/tmp/ccQOAtbg.s:432: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `swp r3,r3,[r1]'
/tmp/ccQOAtbg.s:433: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `orr r1,pc,#1'
/tmp/ccQOAtbg.s:434: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `bx r1'
/tmp/ccQOAtbg.s:460: Error: selected processor does not support ARM opcodes
/tmp/ccQOAtbg.s:461: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `swp r3,r3,[r1]'
/tmp/ccQOAtbg.s:462: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `orr r1,pc,#1'
/tmp/ccQOAtbg.s:463: Error: attempt to use an ARM instruction on a
Thumb-only processor -- `bx r1'
make: *** [libpthread/linuxthreads.old/mutex.os] Error 1
---------------------------------------

But "swp/orr/bx" seem to be sane thumb-2 instructions. Why is this happening
?

--RK


More information about the uClibc mailing list