ARCH=ppc の話だけど

ARCH=ppcのつもりで試行錯誤しているとき、
それはそれで勉強になったことがあるので、
自分のために一応書いとく。

# make vmlinux を実行すると・・・

'*** 2.6 kernels no longer build correctly with old versions of binutils.
'*** Please upgrade your binutils to 2.12.1 or newer
'make: *** [checkbin] エラー 1

お前が使ってるbinutilsは古い。2.12.1以降のやつにしろ。
というエラーですね。
でも、使ってるbinutilsは2.19.*だったりするので
意味が分からないのです。で、

参考にさせていただいたのはこちら
http://lento23.cocolog-nifty.com/blog/2008/07/binutils_9c21.html

Linuxカーネルソースの中で、ppcpowerpc用の一部のMakefile
バグがあり、下記のようなエラーが出てしまうとのことで。

arch/ppc/Makefileをエディタで開き、
最後の方にあるif文を修正する。

× ダメ
@if ! /bin/echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1 ; then

○ OK
@if ! "/bin/echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1" ; then \

こうすれば、binutilsエラーは出ない。と。