hakeの日記

Windows環境でプログラミングの勉強をしています。

-static-libgcc

「Soon Hot, Soon Cold.」さんのところでタイトルのオプションを付けるとlibgccに依存しないファイルが作成されるということを知ったので試してみる。使ったのは「幾霜」さんのここで公開されているcramfsイメージのgcc3.4.4のセルフ環境。hello.cを-static-libgccのオプション付きでコンパイルすると確かにlibgccに依存しないファイルが作成されます。
ちなみに依存関係の確認は、以前教えていただいた

$ /lib/ld-linux.so.2 --list ./hello

で行いました。libgcc以外にもlibc.soがcramfsイメージ内のファイルに依存してしまうので、環境変数LD_LIBRALY_PATHの最初に/libを追加する必要あり。これならライブラリに依存しないパッケージの作成が可能?(ちなみに-staticでコンパイルすれば完全に依存しないファイルが作成が可能?ですがサイズが大きくなってまう)


このイメージでかいですけど、dev_imgより新しいバージョンのツールが入っているのでLinuxツールのコンパイルには良いかもしれません(Rubyのバージョンは古くなってしまっているのは、ちと辛いか)