liugang9931706 发表于 2010-01-28 12:50

u-boot-1.1.6移植时出现一个编译器版本问题

出错信息如下,请问在不换版本的情况下能否解决之?
/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_udivsi3.o): In function `__aeabi_uidiv':
(.text+0x0): multiple definition of `__udivsi3'
lib_arm/libarm.a(_udivsi3.o):/usr/local/arm/u-boot-1.1.6/lib_arm/_udivsi3.S:17: first defined here
arm-linux-ld: ERROR: Source object /usr/local/arm/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
arm-linux-ld: failed to merge target specific data of file /usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_udivdi3.o)
arm-linux-ld: ERROR: Source object /usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/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 /usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_udivsi3.o)
arm-linux-ld: ERROR: Source object /usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/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 /usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_dvmd_lnx.o)
arm-linux-ld: ERROR: Source object /usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/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 /usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_clz.o)
/usr/local/arm/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'

liugang9931706 发表于 2010-01-28 15:11

大家帮帮忙看看,错误与什么有关系
/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/armv4t/libgcc.a(_dvmd_lnx.o): In function `__aeabi_ldiv0':

liugang9931706 发表于 2010-01-28 15:14

我换了编译器,有错误,但是错误的情况又不同了,是和编译器有关吧。
arm-linux-ld: ERROR: /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_udivdi3.oS) uses hardware FP, whereas u-boot uses software FP
arm-linux-ld: failed to merge target specific data of file /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_udivdi3.oS)
arm-linux-ld: ERROR: /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_clz.oS) uses hardware FP, whereas u-boot uses software FP
arm-linux-ld: failed to merge target specific data of file /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_clz.oS)

[ 本帖最后由 liugang9931706 于 2010-1-28 16:12 编辑 ]

T-Bagwell 发表于 2010-01-28 16:17

估计和除法有关系
试试浮点运算

liugang9931706 发表于 2010-01-28 16:45

谢谢楼上的提醒呀,问题解决了!和大家分享
修改cpu/arm920t/config.mk文件中的

PLATFORM_RELFLAGS += -fno-strict-aliasing-fno-common -ffixed-r8 \
    -msoft-float
改为
PLATFORM_RELFLAGS += -fno-strict-aliasing-fno-common -ffixed-r8
然后顺利通过,uboot移植搞了三天了,终于搞出来了。

[ 本帖最后由 liugang9931706 于 2010-1-28 16:54 编辑 ]

emmoblin 发表于 2010-01-29 22:38

从哪里看出跟float有关系的?

chenyx 发表于 2010-01-29 22:39

回复 #5 liugang9931706 的帖子

楼主分享经验,赞同

T-Bagwell 发表于 2010-01-30 09:20

原帖由 emmoblin 于 2010-1-29 22:38 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
从哪里看出跟float有关系的?
在一楼里面提示的是div一类的运算,这个看不出来
楼主后来又贴了些错误
例如
arm-linux-ld: ERROR: /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_udivdi3.oS) uses hardware FP, whereas u-boot uses software FP

这个就是提示,u-boot编译的时候用的是软浮点,然后报得错

zsyjacky 发表于 2010-04-16 15:06

谢谢楼上的提醒呀,问题解决了!和大家分享
修改cpu/arm920t/config.mk文件中的

PLATFORM_RELFLAGS +=...
liugang9931706 发表于 2010-01-28 16:45 http://linux.chinaunix.net/bbs/images/common/back.gif


    我像你们说的做了更改了!还是有如上错误啊

zsyjacky 发表于 2010-04-16 15:12

跟楼主出现的情况是一样的!但是我结果还是出现编译不通过!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: u-boot-1.1.6移植时出现一个编译器版本问题