分类: LINUX
2009-09-01 22:58:45
1.2.0/lib_arm/_udivsi3.S:67: relocation truncated to fit:
R_ARM_PLT32 __div0
lib_arm/libarm.a(_umodsi3.o)(.text+0xa8):/home/qsg/u-boot-
1.2.0/lib_arm/_umodsi3.S:79: relocation truncated to fit:
R_ARM_PLT32 __div0
{
这是因为你用的编译的版本不一致,
你的uboot里面指定了 -msoft-float 编译选项, 是软浮点的,
但是你连接的gcc库是用的硬浮点的,
解决办法
1, 把uboot里面的Makefile里面1.使用arm-linux-gcc-3.4.1软浮点报错:
lib_arm/libarm.a(_udivsi3.o)(.text+0x8c):/home/qsg/u-boot-
1.2.0/lib_arm/_udivsi3.S:67: relocation truncated to fit:
R_ARM_PLT32 __div0
lib_arm/libarm.a(_umodsi3.o)(.text+0xa8):/home/qsg/u-boot-
1.2.0/lib_arm/_umodsi3.S:79: relocation truncated to fit:
R_ARM_PLT32 __div0
{
这是因为你用的编译的版本不一致,
你的uboot里面指定了 -msoft-float 编译选项, 是软浮点的,
但是你连接的gcc库是用的硬浮点的,
解决办法
1, 把uboot里面的Makefile里面的 “-msoft-float”去掉;
或者
2,换一个soft float软浮点的 工具链;
I know there is a link error happened when the arm-linux ld want
to link two different types of libs.
编译使用的是arm-linux-gcc-3.4.1.tar.bz2,可能由于glibc使用
Hardware FP,而U-boot使用的是
Software FP,所以无法正确链接,可能要将glibc用Software FP的方法
重新编译,怎样重新编译呢?
有人建议编译u-boot的时候用2.95.3 编译内核时用3.4.1
在网上找google 了一会,发现什么patch to fix the problem,可惜看
不懂这个补丁。
无奈之下只好grep R_ARM_PLT32 -r u-boot根目录,就是找不到哪个文件
里有这个参数。
}
的 “-msoft-float”去掉;
或者
2,换一个soft float软浮点的 工具链;
I know there is a link error happened when the arm-linux ld want
to link two different types of libs.
编译使用的是arm-linux-gcc-3.4.1.tar.bz2,可能由于glibc使用
Hardware FP,而U-boot使用的是
Software FP,所以无法正确链接,可能要将glibc用Software FP的方法
重新编译,怎样重新编译呢?
有人建议编译u-boot的时候用2.95.3 编译内核时用3.4.1
在网上找google 了一会,发现什么patch to fix the problem,可惜看
不懂这个补丁。
无奈之下只好grep R_ARM_PLT32 -r u-boot根目录,就是找不到哪个文件
里有这个参数。
}