I think the error is from the elf2flt (in uclinux this is a top level shell for ld that produces bFLT files in addition to the elf files) Anyway I belive that you missed a -msep-data. It needs to be in both the gcc compile flags and in the (psudoe) ld flags. It could also be from linking non- sep-data libraries. -----Original Message----- From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] On Behalf Of Ian Lance Taylor Sent: Tuesday, February 09, 2010 8:31 AM To: RK Raggit Cc: gcc-help@xxxxxxxxxxx Subject: Re: cortex-m3 gcc uclinux toolchain error RK Raggit <rk.raggit@xxxxxxxxx> writes: > I have built a uclinux-uclibc toolchain using gcc 4.4.2, binutils 2.20 > (with elf2flt) and uClibc 0.9.30.2 for cortex-m3 non-MMU architecture. > When i try to compile a simple helloworld program using this toolchain > i get the following - > > --------------------------------------------------------- > [raghun@PINGU bin]$ ./arm-cm3-uclinux-uclibceabi-gcc my.c > ERROR: reloc type R_ARM_ABS32 is not supported for PIC > ERROR: reloc type R_ARM_ABS32 is not supported for PIC > ERROR: reloc type R_ARM_ABS32 is not supported for PIC > ERROR: reloc type R_ARM_ABS32 is not supported for PIC > ERROR: reloc type R_ARM_GOT32 is not supported > ERROR: reloc type R_ARM_GOT32 is not supported > ERROR: reloc type R_ARM_GOTOFF32 is not supported > ERROR: reloc type R_ARM_GOTOFF32 is not supported .... > .... > 53 bad relocs > collect2: ld returned 1 exit status > -------------------------------------------------------------------- It is not gcc which is generating those error messages. It is the linker. I can't imagine an ARM linker which does not support those relocations, so something odd is happening, and I don't see how it could be in gcc. I don't see those error messages in GNU ld or gold, so: what linker are you using? Ian