[U-Boot-Users] EABI problem

Patrice Vilchez
2007-07-06T13:45:59Z

Peter Pearse a ?crit :
> I bottom post
>
>
>> -----Original Message-----
>> From: u-boot-users-bounces at lists.sourceforge.net
>> [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf
>> Of Patrice Vilchez
>> Sent: 05 July 2007 18:12
>> To: U-Boot-Users at lists.sourceforge.net
>> Subject: [U-Boot-Users] EABI problem
>>
>> Hello,
>>
>> I am quite new on this mailing list.
>>
>> I have tried to build u-boot with the last EABI toolchain
>> from codesourcery (arm-2007q1-10 version).
>>
>
> Which board?
>
>
For an AT91SAM9263EK board.
I am adding AT91 evaluation kits support to u-boot 1.2.0 and I did
some tests which several EABI compiler : codesourcery , open embedded
and buildroot.
It seems when there is a 64 bits division the compiler refers to
"_udivdi3" which is not implemented into "u-boot/lib_arm/" library and
then try to link with libgcc from compiler :

/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_udivsi3.o):
In function `__aeabi_uidiv':
/scratch/paul/arm/src/gcc-4.2/gcc/config/arm/lib1funcs.asm:(.text+0x0):
multiple definition of `__udivsi3'
lib_arm/libarm.a(_udivsi3.o):_udivsi3.S:17: first defined here
/opt/codesourcery/arm-2007q1/bin/arm-none-linux-gnueabi-ld: ERROR:
Source object
/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_udivdi3.o)
has EABI version 4, but target u-boot has EABI version 0
/opt/codesourcery/arm-2007q1/bin/arm-none-linux-gnueabi-ld: failed to
merge target specific data of file
/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_udivdi3.o)
/opt/codesourcery/arm-2007q1/bin/arm-none-linux-gnueabi-ld: ERROR:
Source object
/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_udivsi3.o)
has EABI version 4, but target u-boot has EABI version 0
/opt/codesourcery/arm-2007q1/bin/arm-none-linux-gnueabi-ld: failed to
merge target specific data of file
/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_udivsi3.o)
/opt/codesourcery/arm-2007q1/bin/arm-none-linux-gnueabi-ld: ERROR:
Source object
/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_clz.o)
has EABI version 4, but target u-boot has EABI version 0
/opt/codesourcery/arm-2007q1/bin/arm-none-linux-gnueabi-ld: failed to
merge target specific data of file
/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_clz.o)
/usr/local/opt/codesourcery/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0):
undefined reference to `__aeabi_unwind_cpp_pr0'

Patrice.