arm-9tdmi-linux-gnu-ld: no machine record defined
在 google 查到的都是說將arch/arm/kernel/vmlinux.lds的最後兩行(如下),給註解起來,但都沒說是為了什麼
ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
後來自己到 arch/arm/kernel/vmlinux.lds 裡看的時候,才發現別有洞天。原來那兩行的上頭寫著
/*
* These must never be empty
* If you have to comment these two assert statements out, your
* binutils is too old (for other reasons as well)
*/
ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
查了一下所使用的 binutils 版本是 2.15,與 HOST 上的 2.17 比起來確實有點舊了。
所以暫時方向先重新弄一版 crosstool 吧 :)