undefined reference to `__aeabi_uidivmod'、 `__aeabi_uidiv'


arm-linux-gcc 编裸机程序时,ld 时突蹦出这么一条 error ,指向的正是除法指令,arm920t,是armv4,其并不支持除法指令,但是却支持软浮点,嘿嘿,说白了就是一个模拟除法的静态库,那这个函数在哪儿? 谷歌发现,是 libgcc.a 库

$ su -i 

# find / -name 'libgcc.a' -exec dirname {} \; > ~/libpath

...

# vim Makefile

修改添加LIBPATH

最后的命令行大致是如此

arm-linux-ld -Ttext 0xxxxxx -g start.o xxx.o xxxx.o -o xxx.elf -static -L  (你刚才找到的libpath文件中的路径)

# make all

还是迸出一个error  ,找不到 raise 函数,那添加一个即可

void raise (int sig_nr)

{

            ;
}

# make all


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM