RTLD(1) FreeBSD 一般コマンドマニュアル RTLD(1)
名称
ld-elf.so.1, ld.so, rtld − 実行時リンクエディタ |
解説
ld-elf.so.1 ユーティリティは自己完結した共有オブジェクトで、実行時にプロ セスのアドレス空間に共有オブジェクトを読み込んで編集する機能を提供しま す。一般には動的リンカという名前でも知られています。動的リンクされたプロ グラムに含まれるデータ構造を使ってどの共有ライブラリが必要なのかを決定 し、 mmap(2) システムコールを使ってそれらを読み込みます。 全ての共有ライブラリを読み込むことに成功すると、次に ld-elf.so.1 はメイン プログラムおよび読み込んだ全てのオブジェクトからの外部参照を解決します。 プログラム本体の実行が始まる前になんらかの設定をする機会を共有オブジェク トに与えるために、オブジェクトごとに初期化ルーチンを呼ぶ機構があります。 これは静的コンストラクタを含むような C++ ライブラリにとって有用です。 実行されるプログラムが動的にリンクされている場合には、そのプログラムと一 緒に ld-elf.so.1 ユーティリティ自体がカーネルによって読み込まれます。そし てカーネルは動的リンカに制御を移します。動的リンカがプログラムとそれに必 要な共有オブジェクトの読み込み、再配置、初期化を終えると、プログラムのエ ントリポイントに制御を移します。 ファイルシステム中にある必要な共有オブジェクトを探索するために、 ld-elf.so.1 は ldconfig(8) ユーティリティによって用意される ‘‘hints’’ ファイルを使います。 ld-elf.so.1 ユーティリティは以下に挙げるような、自身の動作を変えるために 使用されるいくつかの環境変数を認識します: |
LD_DUMP_REL_POST
これが設定されていた場合、シンボル束縛と再配置の後に、 ld-elf.so.1 は全再配置を含む表を表示します。 LD_DUMP_REL_PRE LD_LIBMAP LD_LIBMAP_DISABLE LD_LIBRARY_PATH LD_PRELOAD LD_BIND_NOW LD_TRACE_LOADED_OBJECTS LD_TRACE_LOADED_OBJECTS_ALL LD_TRACE_LOADED_OBJECTS_FMT1 LD_TRACE_LOADED_OBJECTS_FMT2 %a %A %o %m %p %x さらに、 ‘\n’ と ‘\t’ が認識され、通常の意味をもちま す。 関連ファイル |
/var/run/ld-elf.so.hints
/etc/libmap.conf 関連項目 |
ld(1), ldd(1), elf(5), libmap.conf(5), ldconfig(8) FreeBSD 10.0 May 31, 2003 FreeBSD 10.0 |