LLVMについて
LLVMの知識については
- Overview — LLVM 3.8 documentation
- きつねさんでもわかるLLVM
を参考にやっている. 英語力はないのでGoogle先生頼りながら, 必要な情報を集める方針. 狐本の方は, 内容はとてもわかり易いと思う.
でも, 実際は確認程度かなと思い始めている.
そして, 今ハマっている問題について
Writing an LLVM Pass — LLVM 3.8 documentationを今読みながら, 作業中だが, Running a pass with optの部分で手詰まりしている.
最初, インクルードパスが上手くいってないせいでコンパイルできない
→ -Iオプションで無理やり, llvmのディレクトリ内のincludeを参照し, 読みだした.
つぎに実行 $ opt -load ./Hello.so -hello < Hello.bc > /dev/null
Error opening './Hello.so': ./Hello.so: only ET_DYN and ET_EXEC can be loaded
-load request ignored.
opt: Unknown command line argument '-hello'. Try: 'opt -help'
opt: Did you mean '-help'?
とでて, 気持ちが途切れ終了.
よむと Hello.soが開けませんてきな感じかなっと。
あとは-helloオプションなんてありませんてきな感じかな?
ということでここらへんのoptがわかってない.
つぎに投稿するときはそこらへんを解決できるようにしなければいけない.
やっぱり, 得意な人はここらへん楽に突破できるのだろうか?