arm-linux-gcc 3.4.1
u-boot-2009.03
出现错误
lib_arm/libarm.a(_udivsi3.o)(.text+0x8c):/usr/src/source/u-boot-1.1.6/lib_arm/_udivsi3.S:67: relocation truncated to fit: R_ARM_PLT32 __div0
lib_arm/libarm.a(_udivsi3.o)(.text+0xa:/usr/src/source/u-boot-1.1.6/lib_arm/_umodsi3.S:79: relocation truncated to fit: R_ARM_PLT32 __div0
make: *** [u-boot] Error 1
--------------
把那两行注释掉
或者
1、继续用3.4.1,如下修改lib_arm/_umodsi3.S、lib_arm/_udivsi3.S即可编译通过:
bl __div0 (PLT) ===> bl __div0
2、改用2.95.3,不过要留意其目录问题,/usr/local/arm/2.95.3
继续编译
会出现
u-boot/net/net.c:149: undefined reference to `eth_halt'
u-boot/net/net.c:150: undefined reference to `eth_init'
u-boot/net/net.c:252: undefined reference to `eth_rx' /usr/local/arm-elf/u-boot/net/net.c:258: undefined reference to `eth_halt'
u-boot/net/net.c:294: undefined reference to `eth_halt'
这个是和网络配置有关的,出现这个错误是因为我把include/configs/smdk2410.h里面的
#define CONFIG_DRIVER_CS8900 1
改成了
#define CONFIG_DRIVER_CS8900 0
把它改回去再编译就OK了