[U-Boot] CONFIG_API, EABI and raise()

Piotr Zięcik
2009-07-14T13:47:26Z

Hi.

While working on U-Boot for our board we have found problem related to
CONFIG_API option. In general, enabling it causes build failure. Our tests
showed that problem exists also on other ARM U-Boot targets (for example
davinci_dvevm).

Do you think that this problem may be caused by your libgcc-related cleanups ?
If so, do you have any idea how to fix it ?

Failing Build log:
arm-ld crt0.o -Ttext 0x1000000 \
-o demo demo.o libglue.a \
-L/home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2 -lgcc
arm-ld: ERROR: Source
object /home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/libgcc.a(_udivsi3.o)
has EABI version 4, but target demo has EABI version 0
arm-ld: failed to merge target specific data of
file /home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/libgcc.a(_udivsi3.o)
arm-ld: ERROR: Source
object /home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/libgcc.a(_umodsi3.o)
has EABI version 4, but target demo has EABI version 0
arm-ld: failed to merge target specific data of
file /home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/libgcc.a(_umodsi3.o)
arm-ld: ERROR: Source
object /home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/libgcc.a(_dvmd_lnx.o)
has EABI version 4, but target demo has EABI version 0
arm-ld: failed to merge target specific data of
file /home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/libgcc.a(_dvmd_lnx.o)
/home/services/eldk/4.2/arm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/libgcc.a(_dvmd_lnx.o):
In function `__div0':
/opt/eldk/build/arm-2008-11-24/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/gcc-4.2.2/gcc/config/arm/lib1funcs.asm:1000:
undefined reference to `raise'

--
Best Regards,
Piotr Zi?cik