主题 : 用arm-linux-gcc4.3.2编译uboot1.1.6出错,老大进来看看 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 6173
精华: 0
发帖: 32
金钱: 260 两
威望: 151 点
贡献值: 0 点
综合积分: 64 分
注册时间: 2009-05-22
最后登录: 2011-07-29
楼主  发表于: 2009-05-22 11:42

 用arm-linux-gcc4.3.2编译uboot1.1.6出错,老大进来看看

管理提醒: 本帖被 arm9home 从 Linux技术交流专区 移动到本区(2010-02-08)
在移植uboot的nandflash,使用nand_legacy.c没有问题,现在使用nand.c
我注释了uboot软浮点选项,使用3.3.2可以编译通过。
用4.3.2编译的时候会有问题:

arm-linux-ld: ERROR: Source object /root/Desktop/armgcc/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_udivdi3.o) has EABI version 5, but target u-boot has EABI version 0

/root/Desktop/armgcc/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_dvmd_lnx.o): In function `__aeabi_ldiv0':
(.text+0x8): undefined reference to `raise'

网上找了很多资料,貌似要打uboot的patch。
请问各位大虾遇过没?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-05-22 12:30
不要用EABI的toolchain去编译u-boot 1.1.6, 最简单的办法是用一个带软浮点的gcc 3.4.x的交叉编译器
这里就有一个:http://www.scratchbox.org/download/files/sbox-releases/legacy/tarball/scratchbox-toolchain-arm-gcc3.4.cs-glibc-sf-0.9.8.5.tar.gz
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2009-05-22 15:17
1. 友善之臂并没有用4.3.2 EABI的toolchain编译过U-Boot, 况且是1.1.6这种古董级的U-Boot,那时候EABI还不知道在什么地方呢。的确有补丁可以让这个toolchain编译成功,但如果你不想被GNU玩弄的话,还是用最简单直接有效的办法好了
2. 建议你不要没事去玩Toolchain,制作一个Toolchain经历的痛苦不比构建一个完整的嵌入式系统少。如果有现成的可以用的,就不要自己浪费时间去发明轮子。把有限的精力投入到更有价值的地方去吧
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."