白天
获得 1 次赞
帮助过1人
我目前使用的编译器是arm-linux-gcc 3.4.5,可以用来编译u-boot 1.1.6 我编译裸机程序同样使用3.4.5,当用到除法时候提示__umodsi3,翻阅u-boot的arm函数库,找到_modsi3.S文件里有__modsi3,名字挺像,拷贝过来直接编译不过,后来将名字__modsi3改成__umodsi3,编译OK。 全盘搜索u-boot源代码都没有找到__umodsi3这个函数,我就纳闷,使用同样的编译器,为什么u-boot工程能使用__modsi3,我的代码为什么偏偏要使用__umodsi3呢??? 是不是u-boot对编译器在编译除法运算时已经重定向函数呢? 比如 __modsi3可以重定向__u-boot_modsi3,等任意函数名,便于移植