LLVMを利用してCbCコンパイラを開発した時のメモ †インストール †
今は古い!! †
Cmakeを使う方法 †詳しくはcross compilerのとこ
%cmake3 -G Ninja -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/cbclang --sysroot=/usr/arm-linux-gnu/sys-root ~/src/CbC_llvm インストールパスは$PWDで良い
インストールしないでllvmのバージョンを調べる方法 †makeすると時間かかるからね。 % configure -V gdbで動かす場合の手順 †
lldbで動かす場合の手順 †実行時の引数は一緒なのでgdbで動かす場合のとこ見て。
gdbのちょっとしたテクニック †何度も引っかかるタイプのブレークポイントの最後の一回が見たいとき †
distcleanについて †LLVMの場合distcleanではなくdist-clean。なのでconfigureからやり直したかったりで綺麗にしたい場合は % make dist-clean 但し間違ってソースファイルと同じ場所に入れちゃった場合はできない。 clang ASTを見る方法 †% clang -cc1 -ast-dump (source file) もしくは % clang -Xclang -ast-dump -c (source file) 最終的に生成されるASTと対応したコードの出力方法 †% clang -cc1 -ast-print (source file) 内部でコードを生成したときにそれが実際に上手くいったかどうか確認するときとか使える。 LLVM IRのアセンブリ表現として出力する方法 †% clang (source file) -S -emit-llvm LLVM IRをlliで実行するためのバイナリとして出力する方法 †% llvm-as (アセンブリ表現のbit code) Machine Codeを見る方法 †% llc -print-machineinstrs (LLVM IR file) 標準エラー出力に出力される。 CbC on LLVM のアップデート方法 †
% cmake -G Ninja -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_INSTALL_PREFIX:PATH=`pwd` ~/hg/CbC/LLVM_original memo †ヘッダファイルが見つからないと言われた時(stdio.h file not found 等) †
homebrewでのインストール方法 †% brew tap ie-developers/ie % brew install cbc でcbcがインストールされる。 % brew install cbc --HEAD でRepositoryのHEADがインストールされる. llvm 3.8.0 lldb 用tar ball †http://www.cr.ie.u-ryukyu.ac.jp/software/debug/CbCM.tgz lldbがソースを見つけられるようにsymbolic link が必要。 % sudo mkdir -p /Users/kono/src/public % sudo ln -s `pwd`/CbC /Users/kono/src/public % sudo ln -s `pwd`/CbC_llvm /Users/kono/src/public で、 % sudo lldb -- ./Debug+Asserts/bin/clang -cc1 -S hello.c l main で main が表示されれば Ok 。 |