From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrice Vilchez Date: Fri, 06 Jul 2007 15:45:59 +0200 Subject: [U-Boot-Users] EABI problem In-Reply-To: <000a01c7bfd1$af8c5c30$821ba8c0@Emea.Arm.com> References: <000a01c7bfd1$af8c5c30$821ba8c0@Emea.Arm.com> Message-ID: <468E4797.5030604@rfo.atmel.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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.