ld.so(8) | System Manager's Manual | ld.so(8) |
名前¶
ld.so/ld-linux.so - 動的なリンカ・ローダ
説明¶
ld.so はプログラムに必要な共有ライブラリをロードし、 プログラムの実行を準備してから起動させる。 コンパイルの時に ld に対して -static によって明示しない限り、 Linux バイナリはすべて不完全で、 実行時にもう一段階のリンクが必要となる。
プログラムで必要とされる共有ライブラリは以下の順序で検索される。
環境変数¶
- LD_LIBRARY_PATH
- コロン区切りのディレクトリリスト。実行時に ELF ライブラリを 検索するディレクトリを指定する。 PATH 環境変数と同じように指定する。
- LD_PRELOAD
- スペース区切りで ELF 共有ライブラリを指定する。 これはユーザーが指定でき、すべてのライブラリに先立ってロードされる。 他の共有ライブラリにある関数を選択的に置き換えるために 用いることができる。
- LD_AOUT_LIBRARY_PATH
- コロンで区切られたディレクトリのリスト。実行時に a.out のライブラリを 検索するディレクトリを指定する。 PATH 環境変数と同じように指定する。
- LD_AOUT_PRELOAD
- ユーザーが指定する付加的な a.out 共有ライブラリの名前。 他のライブラリがすべてロードされたあとにロードされる。 他の共有ライブラリにある関数を選択的に置き換えるために 用いることができる。
- LD_NOWARN
- a.out ライブラリにおけるマイナーバージョン番号の非互換に 対する警告メッセージを抑制する。
- LD_KEEPDIR
- ロードする a.out ライブラリの名前において、ディレクトリを無視しない。 このオプションは用いるべきではない。
ファイル¶
- /lib/ld.so
- a.out の動的リンカ/ローダ
- /lib/ld-linux.so.*
- ELF dynamic linker/loader ELF の動的リンカ/ローダ
- /etc/ld.so.cache
- ライブラリをサーチするディレクトリを集めたリストと、 共有ライブラリの候補の整列リストを含むファイル。
- /etc/ld.so.preload
- プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが書かれているファイル。
- lib*.so*
- 共有ライブラリ
関連項目¶
バグ¶
現在のところ ld.so には、あるライブラリをアンロードして、 互換性のあるライブラリやより新しいライブラリを再検索する機能がない。
ld.so の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行ファイルにしか用いることができない。
著者¶
David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus Torvalds, Lars Wirzenius and Mitch D'Souza (順不同)
14 March 1998 |