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