gcc 4.5.0 x86_64 host targeting armv5tel library issue

Andy Green andy@warmcat.com
Tue Aug 3 08:52:00 GMT 2010


Hi -

I'm uplevelling a Fedora ARM Cross gcc package that worked OK on gcc 
4.1.  However, there were a lot of changes needed to get it to work with 
4.5.0.

The result seems good, it's able to build an arm kernel that works, but 
there is one funny.  When I build a 'hello world' test app (there's no 
cross glibc yet but that shouldn't be the problem), I get this -->

$ armv5tel-redhat-linux-gnueabi-gcc hello.c
/usr/bin/armv5tel-redhat-linux-gnueabi-ld: skipping incompatible 
/usr/lib/gcc/armv5tel-redhat-linux-gnueabi/4.5.0/libgcc.a when searching 
for -lgcc
/usr/bin/armv5tel-redhat-linux-gnueabi-ld: cannot find -lgcc
/usr/bin/armv5tel-redhat-linux-gnueabi-ld: skipping incompatible 
libgcc.a when searching for libgcc.a
/usr/bin/armv5tel-redhat-linux-gnueabi-ld: skipping incompatible 
/usr/lib/gcc/armv5tel-redhat-linux-gnueabi/4.5.0/libgcc.a when searching 
for libgcc.a
/usr/bin/armv5tel-redhat-linux-gnueabi-ld: cannot find libgcc.a
collect2: ld returned 1 exit status

I guess this may be more of a binutils issue but I ask here first.

/usr/lib/gcc/armv5tel-redhat-linux-gnueabi/4.5.0/libgcc.a looks 
reasonable, if I poke around in there though I see this:

__gcc_bcmp.o:             ELF 32-bit LSB relocatable, ARM, version 1 
(SYSV), not stripped
__main.o:                 ELF 32-bit LSB relocatable, ARM, version 1 
(SYSV), not stripped
_absvdi2.o:               ELF 32-bit LSB relocatable, ARM, version 1 
(SYSV), not stripped
...
_thumb1_case_sqi.o:       ELF 32-bit LSB relocatable, no machine, 
version 1 (SYSV), not stripped
_thumb1_case_uhi.o:       ELF 32-bit LSB relocatable, ARM, version 1 
(SYSV), not stripped
...
unorddf2.o:               ELF 32-bit LSB relocatable, ARM, version 1 
(SYSV), stripped
unordsf2.o:               ELF 32-bit LSB relocatable, ARM, version 1 
(SYSV), stripped

They all look reasonable except -->

_thumb1_case_sqi.o:       ELF 32-bit LSB relocatable, no machine, 
version 1 (SYSV), not stripped

However I tried to remove that from the .a file, it still blew chunks.

Has anyone had a similar experience, or is the best thing for me to go 
ask on the binutils list?

-Andy



More information about the Gcc-help mailing list