洋洋

洋洋的博客

他的个人主页  他的博客

2440移植U-Boot 1.2 出错

洋洋  2010年05月30日 星期日 22:39 | 4714次浏览 | 3条评论

输出如下:

 

make[1]: Leaving directory `/home/yuanyangliu/Test/u-boot-1.2.0/common'

UNDEF_SYM=`arm-linux-objdump -x lib_generic/libgeneric.a board/myboard/libmyboard.a cpu/arm920t/libarm920t.a cpu/arm920t/s3c24x0/libs3c24x0.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 /home/yuanyangliu/Test/u-boot-1.2.0 && arm-linux-ld -Bstatic -T /home/yuanyangliu/Test/u-boot-1.2.0/board/myboard/u-boot.lds -Ttext 0x33F80000  $UNDEF_SYM cpu/arm920t/start.o \

--start-group lib_generic/libgeneric.a board/myboard/libmyboard.a cpu/arm920t/libarm920t.a cpu/arm920t/s3c24x0/libs3c24x0.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 /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t -lgcc \

-Map u-boot.map -o u-boot

/opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_udivsi3.o): In function `__aeabi_uidiv':

(.text+0x0): multiple definition of `__udivsi3'

lib_arm/libarm.a(_udivsi3.o):/home/yuanyangliu/Test/u-boot-1.2.0/lib_arm/_udivsi3.S:17: first defined here

arm-linux-ld: error: Source object /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_udivdi3.o) has EABI version 5, but target u-boot has EABI version 0

arm-linux-ld: failed to merge target specific data of file /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_udivdi3.o)

arm-linux-ld: error: Source object /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_udivsi3.o) has EABI version 5, but target u-boot has EABI version 0

arm-linux-ld: failed to merge target specific data of file /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_udivsi3.o)

arm-linux-ld: error: Source object /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_dvmd_lnx.o) has EABI version 5, but target u-boot has EABI version 0

arm-linux-ld: failed to merge target specific data of file /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_dvmd_lnx.o)

arm-linux-ld: error: Source object /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_clz.o) has EABI version 5, but target u-boot has EABI version 0

arm-linux-ld: failed to merge target specific data of file /opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_clz.o)

/opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

/opt/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libgcc.a(_dvmd_lnx.o): In function `__aeabi_ldiv0':

(.text+0x8): undefined reference to `raise'

make: *** [u-boot] Error 1


交叉编译器为:arm-none-linux-gnueabi  (arm-linux-gcc with EABI)


网上搜索了一下,看见很多类似的问题,可是没有找到有效的解决办法。
这个错误到底是哪里出了问题?难道交叉编译器没做好?

我用这个交叉编译环境编译过2.6.30内核,编译过busybox制作文件系统,Qtopia也编译通过,现在就差bootloader了。

各位熟悉的帮忙看看!谢谢!

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
孔志奎

回复 孔志奎  2010年05月31日 星期一 11:44

看了看错误提示, 主要是libgcc.a has EABI version 5, but target u-boot has EABI version 0; 我猜是不是你的uboot需要针对EABI的gcc编译器打个patch呀, 上网上搜搜看看.

2条回复

  • 洋洋

    回复 洋洋  2010年06月09日 星期三 21:42

    放弃了支持EABI,有空再弄了!

    0条回复

  • 洋洋

    回复 洋洋  2010年05月31日 星期一 11:47

    我猜应该也是这个问题 回头试了看再说!

    0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号