- 【最速へ】LowLevelVirtualMachine【LLVM】
838 :デフォルトの名無しさん[sage]:2014/08/22(金) 21:38:55.76 ID:95GXkqiK - CrossBridge(FlassCC)のSDKを試してみてる。
付属のgccでビルド途中に llc.exe の実行をトラップして引数を見てみて たところ、 コマンド名:/xxx/Crossbrigde_1.0.1/sdk/usr/bin/llc.exe 第1引数: jvm=C:\Windows\system32\java 第2引数: -filetype=obj 第3引数: /xxx/Crossbrigde_1.0.1/cygwin/tmp/ccYoCst5.o 第4引数: -o 第5引数: /xxx/Crossbrigde_1.0.1/cygwin/tmp/ccYoCst5.o 第6引数: -jvmopt 第7引数: -Xmx1500M となっていて、第3引数と第5引数が同じ。つまり、入力ファイルと出力ファイルの 名称が同じになっている。このこと自体も不思議であったので、この段階で永久停止 させて調査してみると、 ccYoCst5.o の中身は先頭が BC というマジックナンバーで、LLVM bitcode の *.bcファイルと同じになっていた。ところがCrossBridgeに同梱ではない本家cygwin標準 の llvm-nm で覗いてみると $ llvm-nm ccYoCst5.o llvm-nm: ccYoCst5.o: Invalid record. と表示される。 ccYoCst5.o のファイル名を aaa.bc に変えてみても結果は同じだった。
|