今年はなんか環境整える年らしく。LLVM 側はできたんですが、xv6 が微妙に動かない。arm の種類の問題なのかも。
GCC側は動くはずなので、GCC側の cross compiler を作るわけですが、まぁ、楽勝なはずなんですが... build に失敗してるじゃん。自分で付け加えた部分がおかしいな。x86 と arm の差だろうと思うんだけど。
でも、それで、
../CbC_gcc/configure --prefix=/usr/local/arm-cbc --disable-nls --disable-bootstrap --target=arm-none-eabi --enable-languages=c --enable-checking=tree,rtl,assert,types
で楽勝じゃん。と思ったんだが、a.out ができない。-S では、ちゃんとARMのアセンブラが出てるのに。で、-v で見てみると、
as 使ってる
あ、それでは動かないんですが。/usr/local/arm-cbc/bin/arm-none-eabi-as を使うはずなんだけど。configure のoptionが良くわからん。が、ググると、
-B 付けろ
と。あぁ、そういうのあったな。でも、default で要らないはずなんが。でも、
-B/usr/local/arm-cbc/bin/arm-none-eabi-
で動きました。たぶん、configure に適切なオプションを付ければ解決するはず。
LLVM側は C のruntime作るのは大変なんだけど、GCC は
make all-target-libgcc
でできてしまうらしい。偉い。こっちは xv6 は問題なく動作しました。そうでなくては。LLVM側はこれから調査だな。
No comments:
Post a Comment