+.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This is in the public domain
+.\" %%%LICENSE_END
+.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH LD.SO 8 2012\-04\-17 GNU "Linux Programmer's Manual"
+.TH LD.SO 8 2013\-02\-10 GNU "Linux Programmer's Manual"
.SH 名前
ld.so, ld\-linux.so* \- 動的なリンカ/ローダ
.SH 書式
バイナリを扱う。 このフォーマットは多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作し、 同じサポートファイルとプログラム
\fBldd\fP(1), \fBldconfig\fP(8), \fI/etc/ld.so.conf\fP を使用する。
.LP
-プログラムで必要とされる共有ライブラリは、 以下の順序で検索される。
+ライブラリの依存関係を解決する際、動的リンカは、最初に、依存関係の各文字列がスラッシュを含んでいるかをチェックする
+(この状況になるのは、リンク時にスラッシュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかった場合、その依存関係の文字列はパス名
+(相対パス、絶対パスのどちらも可) として解釈され、そのパス名を使ってそのライブラリはロードされる。
+.LP
+ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。
.IP o 3
(ELF のみ) バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性が存在しない場合は、 DT_RPATH
で指定されたディレクトリを使用する。 DT_RPATH の使用は推奨されない。
.IP o
(ELF のみ) バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 DT_RUNPATH で指定されたディレクトリを使用する。
.IP o
-キャッシュファイル \fI/etc/ld.so.cache\fP を探す。
-このファイルは、 (ld.so.conf で追加指定されたものも含めた) ライブラリ検索パスから
-見つかったライブラリファイルの情報を集めたものである。
-ただし、バイナリがリンカオプション \fB\-z nodeflib\fP でリンクされている場合は、
-デフォルトのライブラリパスにある ライブラリはスキップされる。
-ハードウェア機能ディレクトリ (下記参照) にインストールされたライブラリは、
-他のライブラリよりも優先される。
+キャッシュファイル \fI/etc/ld.so.cache\fP を探す。このファイルは、 (ld.so.conf で追加指定されたものも含めた)
+ライブラリ検索パスから見つかったライブラリファイルの情報を集めたものである。ただし、バイナリがリンカオプション \fB\-z nodeflib\fP
+でリンクされている場合は、デフォルトのライブラリパスにある ライブラリはスキップされる。ハードウェア機能ディレクトリ (下記参照)
+にインストールされたライブラリは、他のライブラリよりも優先される。
.IP o
デフォルトパスである \fI/lib\fP、 次いで \fI/usr/lib\fP を用いる。 バイナリがリンカオプション \fB\-z nodeflib\fP
でリンクされている場合、このステップはスキップされる。
.\" it appears.
.\"
.\" There is also $PLATFORM. This is a kind of wildcard
-.\" of directories related at AT_HWCAP. To get an idea of the
+.\" of directories related to AT_PLATFORM. To get an idea of the
.\" places that $PLATFORM would match, look at the output of the
.\" following:
.\"
dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900,
z990, z9\-109, z10, zarch
.TP
-.TP
\fBx86 (32\-bit のみ)\fP
acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca,
mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm
空文字列の場合、解決しなければならない関数呼び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。
.TP
\fBLD_LIBRARY_PATH\fP
-コロン区切りのディレクトリリスト。 実行時に ELF ライブラリを検索するディレクトリを指定する。 \fBPATH\fP 環境変数と同じように指定する。
+コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレクトリを指定する。 \fBPATH\fP 環境変数と同じように指定する。
+set\-user\-ID/set\-group\-ID されたプログラムでは無視される。
.TP
\fBLD_PRELOAD\fP
-スペース区切りで ELF 共有ライブラリを指定する。 これはユーザーが指定でき、すべてのライブラリに先立ってロードされる。
-他の共有ライブラリにある関数を選択的に置き換えるために用いることができる。 set\-user\-ID/set\-group\-ID された ELF
-バイナリに対して、 標準的な検索パスにあるライブラリのうち set\-user\-ID されているものはロードしない。
+追加でユーザが指定する ELF
+共有ライブラリのリスト。指定されたライブラリは、すべてのライブラリより前にロードされる。リストの区切りはスペースとコロンである。他の共有ライブラリにある関数を選択的に置き換えるために用いることができる。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。
+set\-user\-ID/set\-group\-ID された ELF
+バイナリでは、スラッシュを含んだパス名のライブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイルの set\-user\-ID
+許可ビットが有効になっている場合のみロードされる。
.TP
\fBLD_TRACE_LOADED_OBJECTS\fP
(ELF のみ) 空文字列でない場合、 プログラムを普通に実行するのではなく、 \fBldd\fP(1)
されたプログラムでは、 この変数は無視される。
.TP
\fBLD_VERBOSE\fP
-(glibc 2.1 以降) 空文字列でない場合に、 (\fBLD_TRACE_LOADED_OBJECTS\fP を設定するか、 \fB\-\-list\fP
-または \fB\-\-verify\fP オプションを動的リンカに指定することにより) プログラムについての情報を問い合わせると、
-プログラムのシンボルバージョン情報を表示する。
+(glibc 2.1 以降) 空文字列でない場合に、\fBLD_TRACE_LOADED_OBJECTS\fP
+変数が設定されていれば、プログラムのシンボルバージョン情報を出力する。
.TP
\fBLD_WARN\fP
(ELF のみ)(glibc 2.1.3 以降) 空文字列でない場合、解決されていないシンボルがあれば警告を出す。
.\" ld-linux.so: Roland McGrath, Ulrich Drepper and others.
.\"
.\" In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
-\fBldd\fP(1), \fBrtld\-audit\fP(7), \fBldconfig\fP(8)
+\fBldd\fP(1), \fBsln\fP(1), \fBgetauxval\fP(3), \fBrtld\-audit\fP(7), \fBldconfig\fP(8)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。