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