[U-Boot-Users] Trouble building u-boot 1.2 with NAND support

I've been trying to compile u-boot with support for NAND flash for the Lyrtech SFFSDR board (TI davinci based). I've acquired various davinci patches, but keep getting linking errors. Currently, I am working with patches from http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/27603 applied to u-boot 1.2, but I ahve also seen this problem with patches based of TI's u-boot.
Does anyone have any suggestions? I am really new to u-boot ...
Philip
cd /home/balister/src/sffsdr/koi8_u-boot && arm-angstrom-linux-gnueabi-ld -Bstatic -T /home/balister/src/sffsdr/koi8_u-boot/board/davinci/u-boot.lds -Ttext 0x81080000 $UNDEF_SYM cpu/arm926ejs/start.o \ --start-group lib_generic/libgeneric.a board/davinci/libdavinci.a cpu/arm926ejs/libarm926ejs.a cpu/arm926ejs/tms320dm6446/libtms320dm6446.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 /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2 -lgcc \ -Map u-boot.map -o u-boot /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivsi3.o): In function `__aeabi_uidiv': /home/balister/oe_home/tmp/work/armv5te-angstrom-linux-gnueabi/gcc-cross-4.1.2-r4/gcc-4.1.2/gcc/config/arm/lib1funcs.asm:730: multiple definition of `__udivsi3' lib_arm/libarm.a(_udivsi3.o):/home/balister/src/sffsdr/koi8_u-boot/lib_arm/_udivsi3.S:17: first defined here arm-angstrom-linux-gnueabi-ld: Warning: size of symbol `__udivsi3' changed from 152 in lib_arm/libarm.a(_udivsi3.o) to 252 in /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivsi3.o) arm-angstrom-linux-gnueabi-ld: ERROR: Source object /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivdi3.o) has EABI version 4, but target u-boot has EABI version 0 arm-angstrom-linux-gnueabi-ld: failed to merge target specific data of file /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivdi3.o) arm-angstrom-linux-gnueabi-ld: ERROR: Source object /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivsi3.o) has EABI version 4, but target u-boot has EABI version 0 arm-angstrom-linux-gnueabi-ld: failed to merge target specific data of file /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivsi3.o) arm-angstrom-linux-gnueabi-ld: ERROR: Source object /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_clz.o) has EABI version 4, but target u-boot has EABI version 0 arm-angstrom-linux-gnueabi-ld: failed to merge target specific data of file /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_clz.o) /home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' make: *** [u-boot] Error 1

Let me try again, with a specific questions
Philip Balister wrote:
/home/balister/oe_home/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/libgcc.a(_udivsi3.o): In function `__aeabi_uidiv': /home/balister/oe_home/tmp/work/armv5te-angstrom-linux-gnueabi/gcc-cross-4.1.2-r4/gcc-4.1.2/gcc/config/arm/lib1funcs.asm:730: multiple definition of `__udivsi3' lib_arm/libarm.a(_udivsi3.o):/home/balister/src/sffsdr/koi8_u-boot/lib_arm/_udivsi3.S:17: first defined here
It seems like libarm in u-boot defines some of the helper functions normally found in libgcc. For some reason I am linking against both libraries. Maybe there is a problem using an EABI compiler with u-boot? Although I build u-boot fine for omap5912osk with the same toolchain.
Philip
participants (1)
-
Philip Balister