2008-09-09

透過的なLLVM (3)

GNU Octaveのマニュアルに曰く、

On NeXT systems, if you get errors like this:

/usr/tmp/cc007458.s:unknown:Undefined local symbol LBB7656
/usr/tmp/cc007458.s:unknown:Undefined local symbol LBE7656

when compiling Array.cc and Matrix.cc, try recompiling these files without -g.

いやはや、Mac OS X 10.5 (darwin9) においておや、おやおや。フリーなソフトウェアやオープンなソフトウェアをかたっぱしからLLVM-GCCでコンパイルしていくと、アセンブラがときどき「unknown:Undefined local symbol L...」と言い出す(うん、厳密に言うとLLVM-GCCは関係なくて、llvm-ldが呼び出すMax OS Xのアセンブラが文句を言うんだ)。GNU Octaveのマニュアルは-gを付けずにコンパイルしなおせと教えているが、llvm-ldに-strip-debugを与えても同じことだ(すすめはしないけれど-disable-inliningでもいい)。

デバッグ情報の、これは夜の物語である。デバッグ情報の霧についてはさておいて、動的リンクの闇の物語を語ることにしよう。

0 件のコメント: