単に自分で拡張した GCC10 な arm cross compiler を作りたいだけなんですが...
問題は ARM tool chain と GCC 10 の pthread.h がずれているかららしく。いや、prefix と読むべき header の位置がずれてるとかも。
そんなわけで、libgcc のコンパイルを通すことはできないらしいので、
File.open("make.sh", "w") { |f| f.write "\#!/bin/sh\nmake \"$@\"\nexit 0\n" }
と必ず成功する make の shell wrapper を通すことに。こんなんで良いらしい。tool chain 自体は brew install -s すれば良いだけだらしい。
そもそもの問題は作った gcc が system 側の as を参照してしまうことだったんですが、どうも hard coded されてるらしく、
"--with-as=#{arm}/bin/arm-none-eabi-as","--with-ld=#{arm}/bin/arm-none-eabi-ld",
と、こちらも hard coded で対抗すればよろしいらしい。LLVM はこういうクソな問題ないので、LLVM だけにしてしまいたいです。
No comments:
Post a Comment