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