资源描述:
《编译时的错误》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、cc1:error:invalidoption`short-load-bytes'内核编译2007-06-3014:47:19阅读63评论0字号:大中小Q:编译时提示错误cc1:error:invalidoption`short-load-bytes'编译器:arm-linux-3.4.1 出现以下错误cc1:error:invalidoption`short-load-bytes'make:***[entry.o]错误1 如果改用2.95.3则不会出现该问题。 原因是高版本的编译器不支持-mshort-load-bytes选项,改为-
2、malignment-traps即可。我也遇到类似的问题,我用的U-boot1.1.6版本,用arm-linux-gcc-3.4.1编译出错,我的方法是下了一个最新的binutils,版本是2.17,覆盖了原来的arm-linux-gcc-3.4.1下的对应文件就通过了.我也是编译出现的错误.看了你上面的解决办法.看来真是程序的bug,不过要全部用源码编译,在源码的对应的行加上这些语句.呵呵,我上次编译源码toolchain的时候,长期出问题.我的机子上有arm-elf-和arm-linux-这两个交叉编译工具.首先是将CROSS_COMPLIE设
3、置成arm-linux然后编译,但出现上次的错误后,在把CROSS_COMPLIE设置成arm-elf-,然后make,就可以生成u-boot本文提到解决的办法,但是不知怎么用。TIP:Ifyoureceiveanabsolutemassoferrorsreading“cc1:error:invalidoptionshort-load-bytes”,itissafetoedit‘cpu/arm926ejs/config.mk’andremovethe‘mshort-load-bytes’option.TIP:Ifyoureceiveacollect
4、ionoferrorsendingwith“relocationtruncatedtofit:R_ARM_PLT32__div0”,itisduetoabuginyourtoolchain.Ifyouhavecompiledfromsource,IshallprovideapatchforbinutilsthatIreceivedfromRichardWoodruff:———————-fromCodeSourcery———————————bfd/elf32-arm.h.orig2004-04-2222:11:15.000000000-0400+++
5、bfd/elf32-arm.h2004-04-2222:28:37.000000000-0400@@-2229,6+2229,8elf32_arm_relocate_section(output_bfd,caseR_ARM_PC24:caseR_ARM_ABS32:caseR_ARM_THM_PC22:+caseR_ARM_PLT32:+if(info->shared&&((!info->symbolic&&h->dynindx!=-1)@@-2262,11+2264,6elf32_arm_relocate_section(output_bfd,r
6、elocation=0;break;-caseR_ARM_PLT32:-if(h->plt.offset!=(bfd_vma)-1)-relocation=0;-break;-default:if(unresolved_reloc)_bfd_error_handler————————————–endpatch———————-Thisshouldsolvethatproblem.Q:如何更改uclinux下的passwd,group的路径用uClibc时在uClibc/include/paths.h文件里。Q:写flash以后,system_rebo
7、ot不起来为了提高写Flash的性能,Flash驱动中通常在一次写入后并不恢复Flash到读状态。这样,一次正常的写操作完成后,Flash将处于“写”状态。如对于IntelFlash,此时如果不能果LinuxFlash驱动直接读取,则读到的实际上是写操作的状态信息。整个reboot的过程中,这个状态不会改变。reboot调用的最后结果是Linux结束运行,跳至Flash某地址开始新的启动过程,读出来的数据显然不会正确。确认是否这种情况,可以这样简单验证一下:1.按上面的代码完成操作,直到重启失败;2.关闭电源,稍候重启开机,3.应该正常启动(应该正
8、常启动),进入Loader或linux后,确认Flash写入数据是否正确(应该正确)。如果是这种情况,修改方法有几种:+不