[U-Boot] u-boot-1.2.0 Compilation error with codesourcecry\sourcecry_g++_lite\2007q1-21

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

Dear Bhavna YADAV,
In message 03d201c9be4b$49779c50$2b52c70a@dlh.st.com you wrote:
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
...
Can somebody please help me to resolve this issue.
Ancient code and recent tools don't mix. Either use a tool chain that is as old as the code you are using, or (better) use current code.
Best regards,
Wolfgang Denk

Thanks Wolfgang
But can you please let me know why this "/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'" Error message coming is it related to EABI releated issue
Actually when I add empty definition of this "__aeabi_unwind_cpp_pr0()" in u-boot I am able to build the Binary I am able to get u-boot prompt also on my board But problem I am facing is when I use this u-boot complete nand on my board goes bad. i.e u-boot> nand bad Above command shows complete nand as bad.
Thanks & Regards Bhavna Yadav -----Original Message----- From: Wolfgang Denk [mailto:wd@denx.de] Sent: Thursday, April 16, 2009 10:42 AM To: Bhavna YADAV Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] u-boot-1.2.0 Compilation error with codesourcecry\sourcecry_g++_lite\2007q1-21
Dear Bhavna YADAV,
In message 03d201c9be4b$49779c50$2b52c70a@dlh.st.com you wrote:
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
...
Can somebody please help me to resolve this issue.
Ancient code and recent tools don't mix. Either use a tool chain that is as old as the code you are using, or (better) use current code.
Best regards,
Wolfgang Denk

Dear Bhavna YADAV,
In message 03e301c9be5a$80a23d20$2b52c70a@dlh.st.com you wrote:
But can you please let me know why this
...
I already explained this to you:
Ancient code and recent tools don't mix. Either use a tool chain that is as old as the code you are using, or (better) use current code.
Best regards,
Wolfgang Denk

Hello Wolfgang
Just a query If its a problem of version than why u-boot for omap5912osk builds without any error U-boot version used -1.2.0
Steps are #make clean;make omap5912osk_config;make
Compiler is :arm-none-linux-gnueabi- [same as I am using for my board]
Thanks & Regards Bhavna Yadav -----Original Message----- From: Wolfgang Denk [mailto:wd@denx.de] Sent: Thursday, April 16, 2009 2:21 PM To: Bhavna YADAV Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] u-boot-1.2.0 Compilation error with codesourcecry\sourcecry_g++_lite\2007q1-21
Dear Bhavna YADAV,
In message 03e301c9be5a$80a23d20$2b52c70a@dlh.st.com you wrote:
But can you please let me know why this
...
I already explained this to you:
Ancient code and recent tools don't mix. Either use a tool chain that is as old as the code you are using, or (better) use current code.
Best regards,
Wolfgang Denk

Dear Bhavna,
In message 006901c9bf25$d05de780$2b52c70a@dlh.st.com you wrote:
Just a query If its a problem of version than why u-boot for omap5912osk builds without any error U-boot version used -1.2.0
Different boards /or processor architectures use different compile options; tool chains may add their own processor specific options to that.
You are wasing your (and our) time. If you want to continue using ancient code then please stick with tool chanes of the same epoch; my recommendation is to use currecnt code (at least v2009.03) instead - all the more if you intend to use a recent tool chain, too.
Best regards,
Wolfgang Denk

Dear Wolfgang,
Thanks for info and ur time. And sorry for bothering you .
Thanks & Regards Bhavna Yadav -----Original Message----- From: Wolfgang Denk [mailto:wd@denx.de] Sent: Friday, April 17, 2009 1:18 PM To: Bhavna YADAV Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] u-boot-1.2.0 Compilation error with codesourcecry\sourcecry_g++_lite\2007q1-21
Dear Bhavna,
In message 006901c9bf25$d05de780$2b52c70a@dlh.st.com you wrote:
Just a query If its a problem of version than why u-boot for omap5912osk builds without any error U-boot version used -1.2.0
Different boards /or processor architectures use different compile options; tool chains may add their own processor specific options to that.
You are wasing your (and our) time. If you want to continue using ancient code then please stick with tool chanes of the same epoch; my recommendation is to use currecnt code (at least v2009.03) instead - all the more if you intend to use a recent tool chain, too.
Best regards,
Wolfgang Denk
participants (2)
-
Bhavna YADAV
-
Wolfgang Denk