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