クロスコンパイル

PIII の Red Hat Linux 上でやっとカーネルのクロスコンパイル環境を作った。glibc のコンパイルにものすごい時間がかかった上にできたオブジェクトは 405 コア用じゃなかった(fmul とかつかっている)。-mcpu=405 とすれば恐らくうまくいくと思うが(すくなくとも -msoft-float で FPU は使わなくなる)、これはまた時間がかかる話なので、また今度にしよう。
某資料を見ながらクロスコンパイル環境を作ったのだが、なんか腑に落ちない。なんで、こんな複雑なことをせなあかんのだ。熟考と試行錯誤(ん?)、素に近い binutilsgcc でカーネルのクロスコンパイル環境を作ることができた。
まとめた資料はこの辺
これでかなり楽になったつもり。今まで、PowerPC 405 で1時間かかっていた全コンパイルが8分になった。
現状の405環境は中途半端だったり、作成過程でいろいろな伝説が生まれて、検証もされずにほってあるままのが、情報として伝播して、まさに混乱状態だ。ひとつひとつ私が整理していきましょう。eabi は歴史的な背景があるみたいだから理解するのは一苦労だな。