Hello friends,

I am trying to compile the u-boot-1.2.0 with arm-none-linux-gnueabi-gcc i.e 
codesourcery tool chain but I get compilation error
Which seems because of EABI problem. Error messages what I get is given below:

a - cmd_mac.o
a - cmd_custom.o
make[1]: Leaving directory 
`/data/csd_sw/spear/integration/bhavna/Customer/SNOM/spear-voip/spear-snom/codesourcery/src/drivers/u-boot-1.2.0/common'
UNDEF_SYM=`arm-none-linux-gnueabi-objdump -x lib_generic/libgeneric.a 
board/spearbasic/libspearbasic.a cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a 
fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a 
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a 
rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a 
drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a 
post/libpost.a post/cpu/libcpu.a common/libcommon.a |sed  -n -e 
's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
        cd 
/data/csd_sw/spear/integration/bhavna/Customer/SNOM/spear-voip/spear-snom/codesourcery/src/drivers/u-boot-1.2.0
 && arm-none-linux-gnueabi-ld -Bstatic -T 
/data/csd_sw/spear/integration/bhavna/Customer/SNOM/spear-voip/spear-snom/codesourcery/src/drivers/u-boot-1.2.0/board/spearbasic/u-boot.lds
 -Ttext 0x00700000  $UNDEF_SYM cpu/arm926ejs/start.o \
                --start-group lib_generic/libgeneric.a 
board/spearbasic/libspearbasic.a cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a 
fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a 
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a 
rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a 
drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a 
post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t
 -lgcc \
                -Map u-boot.map -o u-boot
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_udivsi3.o):
 In function `__aeabi_uidiv':
/scratch/paul/lite/src/gcc-4.2/gcc/config/arm/lib1funcs.asm:(.text+0x0): 
multiple definition of `__udivsi3'
lib_arm/libarm.a(_udivsi3.o):/data/csd_sw/spear/integration/bhavna/Customer/SNOM/spear-voip/spear-snom/codesourcery/src/drivers/u-boot-1.2.0/lib_arm/_udivsi3.S:17:
 first defined here
arm-none-linux-gnueabi-ld: ERROR: Source object 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_udivdi3.o)
 has EABI version 4, but target u-boot has EABI version 0
arm-none-linux-gnueabi-ld: failed to merge target specific data of file 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_udivdi3.o)
arm-none-linux-gnueabi-ld: ERROR: Source object 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_udivsi3.o)
 has EABI version 4, but target u-boot has EABI version 0
arm-none-linux-gnueabi-ld: failed to merge target specific data of file 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_udivsi3.o)
arm-none-linux-gnueabi-ld: ERROR: Source object 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_clz.o)
 has EABI version 4, but target u-boot has EABI version 0
arm-none-linux-gnueabi-ld: failed to merge target specific data of file 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_clz.o)
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0):
 undefined reference to `__aeabi_unwind_cpp_pr0'
make: *** [u-boot] Error 1


 

To resolve the compilation Issue of u-boot with codesourcery(EABI toolchain) I 
changed the config.mk file available in board specific folder 

PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 \
        -msoft-float

PLATFORM_CPPFLAGS += -march=armv4t
# =========================================================================
#
# Supply options according to compiler version # # 
=========================================================================
#PLATFORM_CPPFLAGS +=$(call 
cc-option,-mapcs-32,-mabi=apcs-gnu,-mthumb-interwork)
PLATFORM_CPPFLAGS +=$(call cc-option,-mthumb-interwork) PLATFORM_RELFLAGS 
+=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) 
PLATFORM_LDFLAGS += --defsym raise=hang

After the Above change the problem saying  "multiple definition of `__udivsi3'" 
and "undefined reference to raise" is eliminated But one problem is still left 
related to "undefined reference to `__aeabi_unwind_cpp_pr0"

make[1]: Leaving directory 
`/data/csd_sw/spear/integration/bhavna/Customer/SNOM/spear-voip/spear-snom/codesourcery/src/drivers/u-boot-1.2.0/common'
UNDEF_SYM=`arm-none-linux-gnueabi-objdump -x lib_generic/libgeneric.a 
board/spearbasic/libspearbasic.a cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a 
fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a 
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a 
rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a 
drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a 
post/libpost.a post/cpu/libcpu.a common/libcommon.a |sed  -n -e 
's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
        cd 
/data/csd_sw/spear/integration/bhavna/Customer/SNOM/spear-voip/spear-snom/codesourcery/src/drivers/u-boot-1.2.0
 && arm-none-linux-gnueabi-ld -Bstatic -T 
/data/csd_sw/spear/integration/bhavna/Customer/SNOM/spear-voip/spear-snom/codesourcery/src/drivers/u-boot-1.2.0/board/spearbasic/u-boot.lds
 -Ttext 0x00700000  --defsym raise=hang $UNDEF_SYM cpu/arm926ejs/start.o \
                --start-group lib_generic/libgeneric.a 
board/spearbasic/libspearbasic.a cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a 
fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a 
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a 
rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a 
drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a 
post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L 
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t
 -lgcc \
                -Map u-boot.map -o u-boot
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_divdi3.o):(.ARM.exidx+0x0):
 undefined reference to `__aeabi_unwind_cpp_pr0'
/sw/freeware/pkgs/codesourcecry/sourcecry_g++_lite/2007q1-21/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/armv4t/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0):
 undefined reference to `__aeabi_unwind_cpp_pr0

Can somebody please help me to resolve this issue.

Thanks & Regards
Bhavna Yadav 
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to