OSDN Git Service

(split) LDP: Translate several number of pages
[linuxjm/LDP_man-pages.git] / draft / man8 / ld.so.8
index d92e696..6c46dc0 100644 (file)
+.\" %%%LICENSE_START(PUBLIC_DOMAIN)
 .\" This is in the public domain
+.\" %%%LICENSE_END
 .\"
-.\" Japanese Version Copyright (c) 1998 NAKANO Takeo all rights reserved.
-.\" Translated 1998-05-23, NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated & Modified 1999-09-14, NAKANO Takeo
-.\" Updated & Modified 2002-01-17, Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated & Modified 2002-07-15, Yuichi SATO
-.\" Updated 2007-06-13, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.55
-.\" Updated 2010-04-23, Akihiro MOTOKI, LDP v3.24
+.\"*******************************************************************
 .\"
-.TH LD.SO 8 2009-01-12 "GNU" "Linux Programmer's Manual"
-.\"O .SH NAME
-.\"O ld.so, ld-linux.so* \- dynamic linker/loader
-.SH Ì¾Á°
-ld.so, ld-linux.so* \- Æ°Åª¤Ê¥ê¥ó¥«/¥í¡¼¥À
-.\"O .SH SYNOPSIS
-.SH ½ñ¼°
-.\"O The dynamic linker can be run either indirectly by running some
-.\"O dynamically linked program or library (in which case no command-line options
-.\"O to the dynamic linker can be passed and, in the ELF case, the dynamic linker
-.\"O which is stored in the
-.\"O .B .interp
-.\"O section of the program is executed) or directly by running:
-.\"O .P
-.\"O .I /lib/ld-linux.so.*
-.\"O [OPTIONS] [PROGRAM [ARGUMENTS]]
-ưŪ¥ê¥ó¥«¤Ï¡¢Æ°Åª¤Ë¥ê¥ó¥¯¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ä¥é¥¤¥Ö¥é¥ê¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ
-´ÖÀÜŪ¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë
-(ELF ¤Î¾ì¹ç¡¢Æ°Åª¥ê¥ó¥«¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤Ç¤­¤º¡¢
-¥×¥í¥°¥é¥à¤Î
-.B .interp
-¥»¥¯¥·¥ç¥ó¤ËÆþ¤Ã¤Æ¤¤¤ëưŪ¥ê¥ó¥«¤¬¼Â¹Ô¤µ¤ì¤ë)¡£
-¤Þ¤¿°Ê²¼¤Î¤è¤¦¤ËľÀܼ¹Ԥ¹¤ë¤³¤È¤â¤Ç¤­¤ë
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH LD.SO 8 2013\-02\-10 GNU "Linux Programmer's Manual"
+.SH 名前
+ld.so, ld\-linux.so* \- 動的なリンカ/ローダ
+.SH 書式
+動的リンカは、動的にリンクされたプログラムやライブラリの実行によって 間接的に実行することができる (ELF
+の場合、動的リンカにコマンドラインオプションを渡すことはできず、 プログラムの \fB.interp\fP セクションに入っている動的リンカが実行される)。
+また以下のように直接実行することもできる
 .P
-.I /lib/ld-linux.so.*
-[OPTIONS] [PROGRAM [ARGUMENTS]]
-.\"O .SH DESCRIPTION
-.SH ÀâÌÀ
-.\"O The programs
-.\"O .B ld.so
-.\"O and
-.\"O .B ld-linux.so*
-.\"O find and load the shared libraries needed by a program, prepare
-.\"O the program to run, and then run it.
-¥×¥í¥°¥é¥à
-.B ld.so
-¤È
-.B ld-linux.so*
-¤Ï¥×¥í¥°¥é¥à¤ËɬÍפʶ¦Í­¥é¥¤¥Ö¥é¥ê¤ò¸«¤Ä¤±¤Æ¥í¡¼¥É¤·¡¢
-¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò½àÈ÷¤·¤Æ¤«¤éµ¯Æ°¤µ¤»¤ë¡£
+\fI/lib/ld\-linux.so.*\fP [OPTIONS] [PROGRAM [ARGUMENTS]]
+.SH 説明
+プログラム \fBld.so\fP と \fBld\-linux.so*\fP はプログラムに必要な共有ライブラリを見つけてロードし、
+プログラムの実行を準備してから起動させる。
+.LP
+Linux のバイナリは、コンパイルの時に \fBld\fP(1)  に対して \fB\-static\fP オプションが指定されていない限り、動的リンク
+(実行時リンク) が必要となる。
 .LP
-.\"O Linux binaries require dynamic linking (linking at run time)
-.\"O unless the
-.\"O .B \-static
-.\"O option was given to
-.\"O .BR ld (1)
-.\"O during compilation.
-Linux ¤Î¥Ð¥¤¥Ê¥ê¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¤Î»þ¤Ë
-.BR ld (1)
-¤ËÂФ·¤Æ
-.B \-static
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê¡¢Æ°Åª¥ê¥ó¥¯ (¼Â¹Ô»þ¥ê¥ó¥¯) ¤¬É¬ÍפȤʤ롣
+プログラム \fBld.so\fP は a.out バイナリを扱う。 これはずっと昔に使われていたフォーマットである。 \fBld\-linux.so*\fP
+(libc5 では \fI/lib/ld\-linux.so.1\fP, glibc2 では \fI/lib/ld\-linux.so.2\fP)  は ELF
+バイナリを扱う。 このフォーマットは多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作し、 同じサポートファイルとプログラム
+\fBldd\fP(1), \fBldconfig\fP(8), \fI/etc/ld.so.conf\fP を使用する。
 .LP
-.\"O The program
-.\"O .B ld.so
-.\"O handles a.out binaries, a format used long ago;
-¥×¥í¥°¥é¥à
-.B ld.so
-¤Ï a.out ¥Ð¥¤¥Ê¥ê¤ò°·¤¦¡£
-¤³¤ì¤Ï¤º¤Ã¤ÈÀΤ˻Ȥï¤ì¤Æ¤¤¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¢¤ë¡£
-.\"O .B ld-linux.so*
-.\"O handles ELF (\fI/lib/ld-linux.so.1\fP for libc5, \fI/lib/ld-linux.so.2\fP
-.\"O for glibc2), which everybody has been using for years now.
-.B ld-linux.so*
-(libc5 ¤Ç¤Ï \fI/lib/ld-linux.so.1\fP,
-glibc2 ¤Ç¤Ï \fI/lib/ld-linux.so.2\fP)
-¤Ï ELF ¥Ð¥¤¥Ê¥ê¤ò°·¤¦¡£
-¤³¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¿¤¯¤Î¿Í¤¬ºÇ¶á²¿Ç¯¤â»È¤Ã¤Æ¤¤¤ë¡£
-.\"O Otherwise both have the same behavior, and use the same
-.\"O support files and programs
-.\"O .BR ldd (1),
-.\"O .BR ldconfig (8)
-.\"O and
-.\"O .IR /etc/ld.so.conf .
-¤½¤ì°Ê³°¤ÎÅÀ¤Ç¤ÏξÊý¤È¤âƱ¤¸¤è¤¦¤ËÆ°ºî¤·¡¢
-Ʊ¤¸¥µ¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤È¥×¥í¥°¥é¥à
-.BR ldd (1),
-.BR ldconfig (8),
-.I /etc/ld.so.conf
-¤ò»ÈÍѤ¹¤ë¡£
+ライブラリの依存関係を解決する際、動的リンカは、最初に、依存関係の各文字列がスラッシュを含んでいるかをチェックする
+(この状況になるのは、リンク時にスラッシュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかった場合、その依存関係の文字列はパス名
+(相対パス、絶対パスのどちらも可) として解釈され、そのパス名を使ってそのライブラリはロードされる。
 .LP
-.\"O The shared libraries needed by the program are searched for
-.\"O in the following order:
-¥×¥í¥°¥é¥à¤ÇɬÍפȤµ¤ì¤ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ï¡¢
-°Ê²¼¤Î½ç½ø¤Ç¸¡º÷¤µ¤ì¤ë¡£
+ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。
 .IP o 3
-.\"O (ELF only) Using the directories specified in the
-.\"O DT_RPATH dynamic section attribute
-.\"O of the binary if present and DT_RUNPATH attribute does not exist.
-.\"O Use of DT_RPATH is deprecated.
-(ELF ¤Î¤ß)
-¥Ð¥¤¥Ê¥ê¤ÎưŪ¥»¥¯¥·¥ç¥ó°À­ DT_RPATH ¤¬Â¸ºß¤·¡¢
-DT_RUNPATH Â°À­¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢
-DT_RPATH ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò»ÈÍѤ¹¤ë¡£
-DT_RPATH ¤Î»ÈÍѤϿ侩¤µ¤ì¤Ê¤¤¡£
+(ELF のみ)  バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性が存在しない場合は、 DT_RPATH
+で指定されたディレクトリを使用する。 DT_RPATH の使用は推奨されない。
 .IP o
-.\"O Using the environment variable
-.\"O .BR LD_LIBRARY_PATH .
-.\"O Except if the executable is a set-user-ID/set-group-ID binary,
-.\"O in which case it is ignored.
-´Ä¶­ÊÑ¿ô
-.B LD_LIBRARY_PATH
-¤òÍѤ¤¤ë¡£
-¤¿¤À¤·¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬ set-user-ID/set-group-ID ¥Ð¥¤¥Ê¥ê¤Î¾ì¹ç¡¢
-¤³¤ì¤Ï̵»ë¤µ¤ì¤ë¡£
+環境変数 \fBLD_LIBRARY_PATH\fP を用いる。 ただし実行ファイルが set\-user\-ID/set\-group\-ID バイナリの場合、
+これは無視される。
 .IP o
-.\"O (ELF only) Using the directories specified in the
-.\"O DT_RUNPATH dynamic section attribute
-.\"O of the binary if present.
-(ELF ¤Î¤ß)
-¥Ð¥¤¥Ê¥ê¤ÎưŪ¥»¥¯¥·¥ç¥ó°À­ DT_RUNPATH ¤¬Â¸ºß¤¹¤ì¤Ð¡¢
-DT_RUNPATH ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò»ÈÍѤ¹¤ë¡£
+(ELF のみ)  バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 DT_RUNPATH で指定されたディレクトリを使用する。
 .IP o
-.\"O From the cache file
-.\"O .I /etc/ld.so.cache
-.\"O which contains a compiled list of candidate libraries previously found
-.\"O in the augmented library path.
-.\"O If, however, the binary was linked with the
-.\"O .B \-z nodeflib
-.\"O linker option, libraries in the default library paths are skipped.
-¥­¥ã¥Ã¥·¥å¥Õ¥¡¥¤¥ë
-.I /etc/ld.so.cache
-¤òõ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢
-(ld.so.conf ¤ÇÄɲûØÄꤵ¤ì¤¿¤â¤Î¤â´Þ¤á¤¿) ¥é¥¤¥Ö¥é¥ê¸¡º÷¥Ñ¥¹¤«¤é
-¸«¤Ä¤«¤Ã¤¿¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤ò½¸¤á¤¿¤â¤Î¤Ç¤¢¤ë¡£
-¤¿¤À¤·¥Ð¥¤¥Ê¥ê¤¬¥ê¥ó¥«¥ª¥×¥·¥ç¥ó
-.B \-z nodeflib
-¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥é¥¤¥Ö¥é¥ê¥Ñ¥¹¤Ë¤¢¤ë
-¥é¥¤¥Ö¥é¥ê¤Ï¥¹¥­¥Ã¥×¤µ¤ì¤ë¡£
+キャッシュファイル \fI/etc/ld.so.cache\fP を探す。このファイルは、 (ld.so.conf で追加指定されたものも含めた)
+ライブラリ検索パスから見つかったライブラリファイルの情報を集めたものである。ただし、バイナリがリンカオプション \fB\-z nodeflib\fP
+でリンクされている場合は、デフォルトのライブラリパスにある ライブラリはスキップされる。ハードウェア機能ディレクトリ (下記参照)
+にインストールされたライブラリは、他のライブラリよりも優先される。
 .IP o
-.\"O In the default path
-.\"O .IR /lib ,
-.\"O and then
-.\"O .IR /usr/lib .
-¥Ç¥Õ¥©¥ë¥È¥Ñ¥¹¤Ç¤¢¤ë
-.IR /lib ¡¢
-¼¡¤¤¤Ç
-.I /usr/lib
-¤òÍѤ¤¤ë¡£
-.\"O If the binary was linked with the
-.\"O .B \-z nodeflib
-.\"O linker option, this step is skipped.
-¥Ð¥¤¥Ê¥ê¤¬¥ê¥ó¥«¥ª¥×¥·¥ç¥ó
-.B \-z nodeflib
-¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¥¹¥Æ¥Ã¥×¤Ï¥¹¥­¥Ã¥×¤µ¤ì¤ë¡£
-.\"O .SS $ORIGIN and rpath
-.SS $ORIGIN ¤È rpath
+デフォルトパスである \fI/lib\fP、 次いで \fI/usr/lib\fP を用いる。 バイナリがリンカオプション \fB\-z nodeflib\fP
+でリンクされている場合、このステップはスキップされる。
+.SS "$ORIGIN と rpath"
 .PP
-.\"O .B ld.so
-.\"O understands the string
-.\"O .I $ORIGIN
-.\"O (or equivalently
-.\"O .IR ${ORIGIN} )
-.\"O in an rpath specification (DT_RPATH or DT_RUNPATH) to mean
-.\"O the directory containing the application executable.
-.B ld.so
-¤Ç¤Ï¡¢rpath »ØÄê (DT_RPATH ¤ä DT_RUNPATH) Ãæ¤Ë
-.I $ORIGIN
-¤È¤¤¤¦Ê¸»úÎó
-.RI ( ${ORIGIN}
-¤âÅù²Á) ¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
-.I $ORIGIN
-¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤¹¡£
-.\"O Thus, an application located in
-.\"O .I somedir/app
-.\"O could be compiled with
-.\"O .I gcc -Wl,-rpath,\(aq$ORIGIN/../lib\(aq
-.\"O so that it finds an associated shared library in
-.\"O .I somedir/lib
-.\"O no matter where
-.\"O .I somedir
-.\"O is located in the directory hierarchy.
-¤³¤ì¤ò»È¤Ã¤Æ
-.I somedir/app
-¤ËÃÖ¤«¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-.I gcc -Wl,-rpath,'$ORIGIN/../lib'
-¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢
-.I somedir
-¤¬¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤΤɤ³¤Ë¤¢¤Ã¤Æ¤â¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï
-.I somedir/lib
-¤Ë¤¢¤ëÂбþ¤¹¤ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.\"O This facilitates the creation of "turn-key" applications that
-.\"O do not need to be installed into special directories,
-.\"O but can instead be unpacked into any directory
-.\"O and still find their own shared libraries.
-¤³¤Îµ¡Ç½¤ò»È¤¦¤È¡¢
-ÆÃÊ̤ʥǥ£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤â
-"¤ä¤ä¤³¤·¤¤ÀßÄê¤Ê¤·¤Ç"
-Æȼ«¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò»È¤¨¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
 .\" ld.so also understands $LIB, with the same meaning as $ORIGIN/lib,
 .\" 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:
 .\"
@@ -210,462 +64,214 @@ DT_RUNPATH 
 .\"
 .\" ld.so lets names be abbreviated, so $O will work for $ORIGIN;
 .\" Don't do this!!
-.\"O .SH OPTIONS
-.SH ¥ª¥×¥·¥ç¥ó
-.TP
-.B \-\-list
-.\"O List all dependencies and how they are resolved.
-Á´¤Æ¤Î°Í¸´Ø·¸¤È¤½¤Î²ò·èË¡¤ò¥ê¥¹¥È¤¹¤ë¡£
-.TP
-.B \-\-verify
-.\"O Verify that program is dynamically linked and this dynamic linker can handle
-.\"O it.
-¥×¥í¥°¥é¥à¤¬Æ°Åª¤Ë¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¤«¤È¡¢
-ưŪ¥ê¥ó¥«¤¬¤½¤Î¥×¥í¥°¥é¥à¤ò°·¤¨¤ë¤«¤ò¸¡¾Ú¤¹¤ë¡£
-.TP
-.B \-\-library\-path PATH
-.\"O Override
-.\"O .B LD_LIBRARY_PATH
-.\"O environment variable setting (see below).
-.B LD_LIBRARY_PATH
-´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤ò¾å½ñ¤­¤¹¤ë (²¼µ­»²¾È)¡£
-.TP
-.B \-\-inhibit\-rpath LIST
-.\"O Ignore RPATH and RUNPATH information in object names in LIST.
-.\"O This option is ignored if
-.\"O .B ld.so
-.\"O is set-user-ID or set-group-ID.
-LIST ¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È̾¤Î RPATH ¤È RUNPATH ¤Î¾ðÊó¤ò̵»ë¤¹¤ë¡£
-.B ld.so
-¤¬ set-user-ID ¤« set-group-ID ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤ë¡£
-.\"O .SH ENVIRONMENT
-.SH ´Ä¶­ÊÑ¿ô
-.\"O There are four important environment variables.
-4 ¤Ä¤Î½ÅÍפʴĶ­ÊÑ¿ô¤¬¤¢¤ë¡£
-.TP
-.B LD_BIND_NOW
-.\"O (libc5; glibc since 2.1.1)
-.\"O If set to a nonempty string,
-.\"O causes the dynamic linker to resolve all symbols
-.\"O at program startup instead of deferring function call resolution to the point
-.\"O when they are first referenced.
-.\"O This is useful when using a debugger.
-(libc5; glibc 2.1.1 °Ê¹ß)
-¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¡¢
-ưŪ¥ê¥ó¥«¤Ï¥×¥í¥°¥é¥à¤Î³«»Ï»þ¤ËÁ´¤Æ¤Î¥·¥ó¥Ü¥ë¤ò²ò·è¤¹¤ë¡£
-¶õʸ»úÎó¤Î¾ì¹ç¡¢²ò·è¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤´Ø¿ô¸Æ¤Ó½Ð¤·¤¬
-ºÇ½é¤Ë»²¾È¤µ¤ì¤¿»þÅÀ¤Ç²ò·è¤¹¤ë¡£
-¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æ¤¤¤ë¤È¤­¤ËÌòΩ¤Ä¡£
-.TP
-.B LD_LIBRARY_PATH
-.\"O A colon-separated list of directories in which to search for
-.\"O ELF libraries at execution-time.
-.\"O Similar to the
-.\"O .B PATH
-.\"O environment variable.
-¥³¥í¥ó¶èÀÚ¤ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¥ê¥¹¥È¡£
-¼Â¹Ô»þ¤Ë ELF ¥é¥¤¥Ö¥é¥ê¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¡£
-.B PATH
-´Ä¶­ÊÑ¿ô¤ÈƱ¤¸¤è¤¦¤Ë»ØÄꤹ¤ë¡£
-.TP
-.B LD_PRELOAD
-.\"O A whitespace-separated list of additional, user-specified, ELF shared
-.\"O libraries to be loaded before all others.
-.\"O This can be used to selectively override functions in other shared libraries.
-¥¹¥Ú¡¼¥¹¶èÀÚ¤ê¤Ç ELF ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò»ØÄꤹ¤ë¡£
-¤³¤ì¤Ï¥æ¡¼¥¶¡¼¤¬»ØÄê¤Ç¤­¡¢¤¹¤Ù¤Æ¤Î¥é¥¤¥Ö¥é¥ê¤ËÀèΩ¤Ã¤Æ¥í¡¼¥É¤µ¤ì¤ë¡£
-¾¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ë¤¢¤ë´Ø¿ô¤òÁªÂòŪ¤ËÃÖ¤­´¹¤¨¤ë¤¿¤á¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.\"O For set-user-ID/set-group-ID ELF binaries,
-.\"O only libraries in the standard search
-.\"O directories that are also set-user-ID will be loaded.
-set-user-ID/set-group-ID ¤µ¤ì¤¿ ELF ¥Ð¥¤¥Ê¥ê¤ËÂФ·¤Æ¡¢
-ɸ½àŪ¤Ê¸¡º÷¥Ñ¥¹¤Ë¤¢¤ë¥é¥¤¥Ö¥é¥ê¤Î¤¦¤Á set-user-ID ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¥í¡¼¥É¤·¤Ê¤¤¡£
-.TP
-.B LD_TRACE_LOADED_OBJECTS
-.\"O (ELF only)
-.\"O If set to a nonempty string, causes the program to list its dynamic library
-.\"O dependencies, as if run by
-.\"O .BR ldd (1),
-.\"O instead of running normally.
-(ELF ¤Î¤ß)
-¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¡¢
-¥×¥í¥°¥é¥à¤òÉáÄ̤˼¹Ԥ¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢
-.BR ldd (1)
-¤ò¼Â¹Ô¤·¤¿¤È¤­¤Î¤è¤¦¤ËưŪ¥é¥¤¥Ö¥é¥ê¤Î°Í¸´Ø·¸¤ò¥ê¥¹¥Èɽ¼¨¤µ¤»¤ë¡£
+\fBld.so\fP では、rpath 指定 (DT_RPATH や DT_RUNPATH) 中に \fI$ORIGIN\fP という文字列
+(\fI${ORIGIN}\fP も等価) を使うことができる。 \fI$ORIGIN\fP はアプリケーションの実行ファイルが入っているディレクトリを表す。
+これを使って \fIsomedir/app\fP に置かれたアプリケーションを \fIgcc \-Wl,\-rpath,'$ORIGIN/../lib'\fP
+でコンパイルすると、 \fIsomedir\fP がディレクトリ階層のどこにあっても、アプリケーションは \fIsomedir/lib\fP
+にある対応する共有ライブラリを見つけることができる。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインストールしても
+"ややこしい設定なしで" 独自の共有ライブラリを使えるアプリケーションを作成することができる。
+.SH オプション
+.TP 
+\fB\-\-list\fP
+全ての依存関係とその解決法をリストする。
+.TP 
+\fB\-\-verify\fP
+プログラムが動的にリンクされているかと、 動的リンカがそのプログラムを扱えるかを検証する。
+.TP 
+\fB\-\-library\-path PATH\fP
+\fBLD_LIBRARY_PATH\fP 環境変数の設定ではなく、
+指定した PATH を使用する (下記参照)。
+.TP 
+\fB\-\-inhibit\-rpath LIST\fP
+LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 \fBld.so\fP が set\-user\-ID か
+set\-group\-ID されている場合、 このオプションは無視される。
+.TP 
+\fB\-\-audit LIST\fP
+LIST で指定された名前のオブジェクトを監査者として使用する。
+.SH ハードウェア機能
+いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固有
+の命令を使ってコンパイルされている。そのようなライブラリは、
+\fI/usr/lib/sse2/\fP のような、必要なハードウェア機能 (hardware capability) を規
+定する名前のディレクトリにインストールすべきである。
+動的リンカは、マシンのハードウェアに基づいてこれらのディレクトリを確認し、
+指定されたライブラリに最も適したバージョンを選択する。
+ハードウェア機能ディレクトリはつなげることができ、
+複数の CPU 機能を組み合わることができる。
+対応しているハードウェア機能名のリストは CPU に依存する。
+現在のところ、以下の名前が認識される。
+.TP 
+\fBAlpha\fP
+ev4, ev5, ev56, ev6, ev67
+.TP 
+\fBMIPS\fP
+loongson2e, loongson2f, octeon, octeon2
+.TP 
+\fBPowerPC\fP
+4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble,
+efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x,
+ppc32, ppc601, ppc64, smt, spe, ucache, vsx
+.TP 
+\fBSPARC\fP
+flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2
+.TP 
+\fBs390\fP
+dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900,
+z990, z9\-109, z10, zarch
+.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
+.SH 環境変数
+4 つの重要な環境変数がある。
+.TP 
+\fBLD_BIND_NOW\fP
+(libc5; glibc 2.1.1 以降)  空文字列でない場合、 動的リンカはプログラムの開始時に全てのシンボルを解決する。
+空文字列の場合、解決しなければならない関数呼び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。
+.TP 
+\fBLD_LIBRARY_PATH\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
+許可ビットが有効になっている場合のみロードされる。
+.TP 
+\fBLD_TRACE_LOADED_OBJECTS\fP
+(ELF のみ)  空文字列でない場合、 プログラムを普通に実行するのではなく、 \fBldd\fP(1)
+を実行したときのように動的ライブラリの依存関係をリスト表示させる。
 .LP
-.\"O Then there are lots of more or less obscure variables,
-.\"O many obsolete or only for internal use.
-¤½¤·¤Æ¡¢¤½¤ì¤Û¤ÉÃΤé¤ì¤Æ¤¤¤Ê¤¤´Ä¶­ÊÑ¿ô¤â¤¢¤ë¡£
-¿¤¯¤ÏÇѤì¤Æ¤·¤Þ¤Ã¤¿¤â¤Î¤«ÆâÉô¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë´Ä¶­ÊÑ¿ô¤Ç¤¢¤ë¡£
-.TP
-.B LD_AOUT_LIBRARY_PATH
-(libc5)
-.\"O Version of
-.\"O .B LD_LIBRARY_PATH
-.\"O for a.out binaries only.
-.\"O Old versions of ld\-linux.so.1 also supported
-.\"O .BR LD_ELF_LIBRARY_PATH .
-a.out ¥Ð¥¤¥Ê¥ê¤Ë¤Î¤ß»È¤ï¤ì¤ë´Ä¶­ÊÑ¿ô¤Ç¡¢
-.B LD_LIBRARY_PATH
-¤ÈƱ¤¸Ìò³ä¤ò¤¹¤ë¡£
-ld\-linux.so.1 ¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï
-.B LD_ELF_LIBRARY_PATH
-¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤¿¡£
-.TP
-.B LD_AOUT_PRELOAD
-(libc5)
-.\"O Version of
-.\"O .B LD_PRELOAD
-.\"O for a.out binaries only.
-.\"O Old versions of ld\-linux.so.1 also supported
-.\"O .BR LD_ELF_PRELOAD .
-a.out ¥Ð¥¤¥Ê¥ê¤Ë¤Î¤ß»È¤ï¤ì¤ë´Ä¶­ÊÑ¿ô¤Ç¡¢
-.B LD_PRELOAD
-¤ÈƱ¤¸Ìò³ä¤ò¤¹¤ë¡£
-ld\-linux.so.1 ¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï
-.B LD_ELF_PRELOAD
-¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤¿¡£
-.TP
-.B LD_AUDIT
-.\"O (glibc since 2.4)
-(glibc 2.4 °Ê¹ß)
-.\"O A colon-separated list of user-specified, ELF shared objects
-.\"O to be loaded before all others in a separate linker namespace
-.\"O (i.e., one that does not intrude upon the normal symbol bindings that
-.\"O would occur in the process).
-.\"O These libraries can be used to audit the operation of the dynamic linker.
-.\"O .B LD_AUDIT
-.\"O is ignored for set-user-ID/set-group-ID binaries.
-¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤è¤ê¤âÁ°¤Ë¡¢Ê̤Υê¥ó¥«Ì¾Á°¶õ´Ö (¤½¤Î¥×¥í¥»¥¹¤Ç¹Ô¤ï¤ì¤ë
-Ä̾ï¤Î¥·¥ó¥Ü¥ë·ë¹ç (symbol bindigns) ¤Ë¤Ï´ØÍ¿¤·¤Ê¤¤Ì¾Á°¶õ´Ö) ¤Ç
-¥í¡¼¥É¤µ¤ì¤ë¡¢¥æ¡¼¥¶»ØÄê¤Î ELF ¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥í¥ó¶èÀÚ¤ê¤Î¥ê¥¹¥È¡£
-¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¡¢Æ°Åª¥ê¥ó¥«¤ÎÆ°ºî¤ò´Æºº¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï¡¢
-.B LD_AUDIT
-¤Ï̵»ë¤µ¤ì¤ë¡£
+そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部でのみ使用される環境変数である。
+.TP 
+\fBLD_AOUT_LIBRARY_PATH\fP
+(libc5)  a.out バイナリにのみ使われる環境変数で、 \fBLD_LIBRARY_PATH\fP と同じ役割をする。 ld\-linux.so.1
+の古いバージョンでは \fBLD_ELF_LIBRARY_PATH\fP もサポートしていた。
+.TP 
+\fBLD_AOUT_PRELOAD\fP
+(libc5)  a.out バイナリにのみ使われる環境変数で、 \fBLD_PRELOAD\fP と同じ役割をする。 ld\-linux.so.1
+の古いバージョンでは \fBLD_ELF_PRELOAD\fP もサポートしていた。
+.TP 
+\fBLD_AUDIT\fP
+(glibc 2.4 以降)  他のオブジェクトよりも前に、別のリンカ名前空間 (そのプロセスで行われる 通常のシンボル結合 (symbol
+bindigns) には関与しない名前空間) で ロードされる、ユーザ指定の ELF 共有オブジェクトのコロン区切りのリスト。
+これらのライブラリを使って、動的リンカの動作を監査することができる。 set\-user\-ID/set\-group\-ID されたバイナリでは、
+\fBLD_AUDIT\fP は無視される。
 
-.\"O The dynamic linker will notify the audit
-.\"O libraries at so-called auditing checkpoints\(emfor example,
-.\"O loading a new library, resolving a symbol,
-.\"O or calling a symbol from another shared object\(emby
-.\"O calling an appropriate function within the audit library.
-ưŪ¥ê¥ó¥«¤Ï¡¢¤¤¤ï¤æ¤ë´Æºº¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È (auditing checkpoints)
-¤Ë¤ª¤¤¤Æ¡¢´Æºº (audit) ¥é¥¤¥Ö¥é¥ê¤ÎŬÀڤʴؿô¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢
-´Æºº¥é¥¤¥Ö¥é¥ê¤Ø¤ÎÄÌÃΤò¹Ô¤¦¡£´Æºº¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È¤ÎÎã¤È¤·¤Æ¤Ï¡¢
-¿·¤¿¤Ê¥é¥¤¥Ö¥é¥ê¤Î¥í¡¼¥É¡¢¥·¥ó¥Ü¥ë¤Î²ò·è¡¢Ê̤ζ¦Í­¥ª¥Ö¥¸¥§¥¯¥È
-¤«¤é¤Î¥·¥ó¥Ü¥ë¤Î¸Æ¤Ó½Ð¤·¡¢¤Ê¤É¤¬¤¢¤ë¡£
-.\"O For details, see
-.\"O .BR rtld-audit (7).
-.\"O The auditing interface is largely compatible with that provided on Solaris,
-.\"O as described in its
-.\"O .IR "Linker and Libraries Guide" ,
-.\"O in the chapter
-.\"O .IR "Runtime Linker Auditing Interface" .
-¾ÜºÙ¤Ï
-.BR rtld-audit (7)
-¤ò»²¾È¤·¤Æ¤Û¤·¤¤¡£
-audit ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Solaris ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È
-ÂçÉôʬ¤Ï¸ß´¹À­¤¬¤¢¤ë¡£Solaris ¤Î audit ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.I "Linker and Libraries Guide"
-¤Î
-.I "Runtime Linker Auditing Interface"
-¤Î¾Ï¤ËÀâÌÀ¤¬¤¢¤ë¡£
-.TP
-.B LD_BIND_NOT
-.\"O (glibc since 2.1.95)
-.\"O Do not update the GOT (global offset table) and PLT (procedure linkage table)
-.\"O after resolving a symbol.
-(glibc 2.1.95 °Ê¹ß)
-¥·¥ó¥Ü¥ë¤ò²ò·è¤·¤¿¸å¡¢GOT (global offset table) ¤È
-PLT (procedure linkage table) ¤ò¹¹¿·¤·¤Ê¤¤¡£
-.TP
-.B LD_DEBUG
-.\"O (glibc since 2.1)
-.\"O Output verbose debugging information about the dynamic linker.
-.\"O If set to
-.\"O .B all
-.\"O prints all debugging information it has, if set to
-.\"O .B help
-.\"O prints a help message about which categories can be specified in this
-.\"O environment variable.
-.\"O Since glibc 2.3.4,
-.\"O .B LD_DEBUG
-.\"O is ignored for set-user-ID/set-group-ID binaries.
-(glibc 2.1 °Ê¹ß)
-ưŪ¥ê¥ó¥«¤Î¾ÜºÙ¤Ê¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ¹¤ë¡£
-.B all
-¤ËÀßÄꤷ¤¿¾ì¹ç¡¢Á´¤Æ¤ÎưŪ¥ê¥ó¥«¤¬»ý¤Ä¥Ç¥Ð¥Ã¥°¾ðÊó¤òɽ¼¨¤¹¤ë¡£
-.B help
-¤ËÀßÄꤷ¤¿¾ì¹ç¡¢¤³¤Î´Ä¶­ÊÑ¿ô¤Ç»ØÄꤵ¤ì¤ë¥«¥Æ¥´¥ê¤Î¥Ø¥ë¥×¾ðÊó¤òɽ¼¨¤¹¤ë¡£
-glibc 2.3.4 °Ê¹ß¡¢
-set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï
-.B LD_DEBUG
-¤Ï̵»ë¤µ¤ì¤ë¡£
-.TP
-.B LD_DEBUG_OUTPUT
-.\"O (glibc since 2.1)
-.\"O File where
-.\"O .B LD_DEBUG
-.\"O output should be fed into, default is standard output.
-.\"O .B LD_DEBUG_OUTPUT
-.\"O is ignored for set-user-ID/set-group-ID binaries.
-(glibc 2.1 °Ê¹ß)
-.B LD_DEBUG
-¤Î½ÐÎϤò½ñ¤­¹þ¤à¥Õ¥¡¥¤¥ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ïɸ½à½ÐÎϤǤ¢¤ë¡£
-set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï¡¢
-.B LD_DEBUG_OUTPUT
-¤Ï̵»ë¤µ¤ì¤ë¡£
-.TP
-.B LD_DYNAMIC_WEAK
-.\"O (glibc since 2.1.91)
-.\"O Allow weak symbols to be overridden (reverting to old glibc behavior).
-.\"O For security reasons, since glibc 2.3.4,
-.\"O .B LD_DYNAMIC_WEAK
-.\"O is ignored for set-user-ID/set-group-ID binaries.
-(glibc 2.1.19 °Ê¹ß)
-¾å½ñ¤­¤µ¤ì¤ë¼å¤¤¥·¥ó¥Ü¥ë (ÀΤΠglibc ¤ÎµóÆ°¤òµÕ¤Ë¤¹¤ë)¡£
-¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤«¤é¡¢glibc 2.3.4 °Ê¹ß¡¢
-set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï
-.B LD_DYNAMIC_WEAK
-¤Ï̵»ë¤µ¤ì¤ë¡£
-.TP
-.B LD_HWCAP_MASK
-.\"O (glibc since 2.1)
-.\"O Mask for hardware capabilities.
-(glibc 2.1 °Ê¹ß)
-¥Ï¡¼¥É¥¦¥§¥¢µ¡Ç½¤Î¥Þ¥¹¥¯¡£
-.TP
-.B LD_KEEPDIR
-.\"O (a.out only)(libc5)
-.\"O Don't ignore the directory in the names of a.out libraries to be loaded.
-.\"O Use of this option is strongly discouraged.
-(a.out ¤Î¤ß)(libc5)
-¥í¡¼¥É¤¹¤ë a.out ¥é¥¤¥Ö¥é¥ê¤Î̾Á°¤Ë¤ª¤¤¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ò̵»ë¤·¤Ê¤¤¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍѤ¤¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
-.TP
-.B LD_NOWARN
-.\"O (a.out only)(libc5)
-.\"O Suppress warnings about a.out libraries with incompatible minor
-.\"O version numbers.
-(a.out ¤Î¤ß)(libc5)
-a.out ¥é¥¤¥Ö¥é¥ê¤Ë¤ª¤±¤ë¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ÎÈó¸ß´¹¤Ë
-ÂФ¹¤ë·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤¹¤ë¡£
-.TP
-.B LD_ORIGIN_PATH
-.\"O (glibc since 2.1)
-.\"O Path where the binary is found (for non-set-user-ID programs).
-.\"O For security reasons, since glibc 2.4,
-.\"O .B LD_ORIGIN_PATH
-.\"O is ignored for set-user-ID/set-group-ID binaries.
-(glibc 2.1 °Ê¹ß)
-¥Ð¥¤¥Ê¥ê¤Ø¤Î¥Ñ¥¹ (set-user-ID ¤µ¤ì¤Æ¤¤¤Ê¤¤¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ)¡£
-¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤«¤é¡¢glibc 2.3.4 °Ê¹ß¡¢
-set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï
-.B LD_ORIGIN_PATH
-¤Ï̵»ë¤µ¤ì¤ë¡£
+動的リンカは、いわゆる監査チェックポイント (auditing checkpoints)  において、監査 (audit)
+ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの通知を行う。監査チェックポイントの例としては、
+新たなライブラリのロード、シンボルの解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細は \fBrtld\-audit\fP(7)
+を参照してほしい。 audit インタフェースは、Solaris で提供されているものと 大部分は互換性がある。Solaris の audit
+インタフェースについては、 \fILinker and Libraries Guide\fP の \fIRuntime Linker Auditing
+Interface\fP の章に説明がある。
+.TP 
+\fBLD_BIND_NOT\fP
+(glibc 2.1.95 以降)  シンボルを解決した後、GOT (global offset table) と PLT (procedure
+linkage table) を更新しない。
+.TP 
+\fBLD_DEBUG\fP
+(glibc 2.1 以降)  動的リンカの詳細なデバッグ情報を出力する。 \fBall\fP に設定した場合、全ての動的リンカが持つデバッグ情報を表示する。
+\fBhelp\fP に設定した場合、この環境変数で指定されるカテゴリのヘルプ情報を表示する。 glibc 2.3.4 以降、
+set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_DEBUG\fP は無視される。
+.TP 
+\fBLD_DEBUG_OUTPUT\fP
+(glibc 2.1 以降)  \fBLD_DEBUG\fP の出力を書き込むファイル。 デフォルトは標準出力である。
+set\-user\-ID/set\-group\-ID されたバイナリでは、 \fBLD_DEBUG_OUTPUT\fP は無視される。
+.TP 
+\fBLD_DYNAMIC_WEAK\fP
+(glibc 2.1.19 以降)  上書きされる弱いシンボル (昔の glibc の挙動を逆にする)。 セキュリティ上の理由から、glibc
+2.3.4 以降、 set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_DYNAMIC_WEAK\fP は無視される。
+.TP 
+\fBLD_HWCAP_MASK\fP
+(glibc 2.1 以降)  ハードウェア機能のマスク。
+.TP 
+\fBLD_KEEPDIR\fP
+(a.out のみ)(libc5)  ロードする a.out ライブラリの名前において、ディレクトリを無視しない。 このオプションは用いるべきではない。
+.TP 
+\fBLD_NOWARN\fP
+(a.out のみ)(libc5)  a.out ライブラリにおけるマイナーバージョン番号の非互換に 対する警告メッセージを抑制する。
+.TP 
+\fBLD_ORIGIN_PATH\fP
 .\" Only used if $ORIGIN can't be determined by normal means
 .\" (from the origin path saved at load time, or from /proc/self/exe)?
-.TP
-.B LD_POINTER_GUARD
-.\"O (glibc since 2.4)
-(glibc 2.4 °Ê¹ß)
-.\"O Set to 0 to disable pointer guarding.
-.\"O Any other value enables pointer guarding, which is also the default.
-.\"O Pointer guarding is a security mechanism whereby some pointers to code
-.\"O stored in writable program memory (return addresses saved by
-.\"O .BR setjmp (3)
-.\"O or function pointers used by various glibc internals) are mangled
-.\"O semi-randomly to make it more difficult for an attacker to hijack
-.\"O the pointers for use in the event of a buffer overrun or
-.\"O stack-smashing attack.
-0 ¤ËÀßÄꤹ¤ë¤È¡¢¥Ý¥¤¥ó¥¿Êݸî (pointer guarding) ¤¬Ìµ¸ú¤Ë¤Ê¤ë¡£
-¤½¤ì°Ê³°¤ÎÃͤξì¹ç¤Ï¥Ý¥¤¥ó¥¿Êݸͭ¸ú¤Ë¤Ê¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï¥Ý¥¤¥ó¥¿ÊݸîÍ­¸ú¤Ç¤¢¤ë¡£
-¥Ý¥¤¥ó¥¿Êݸî¤Ï¥»¥­¥å¥ê¥Æ¥£µ¡¹½¤Î°ì¤Ä¤Ç¡¢½ñ¤­¹þ¤ß²Äǽ¤Ê¥×¥í¥°¥é¥à¥á¥â¥ê
-¤Ë³ÊǼ¤µ¤ì¤¿¥³¡¼¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò¤Û¤Ü¥é¥ó¥À¥à²½¤¹¤ë¤³¤È¤Ç¡¢
-¹¶·â¼Ô¤¬¥Ð¥Ã¥Õ¥¡¥ª¡¼¥Ð¡¼¥é¥ó¤ä¥¹¥¿¥Ã¥¯Ç˲õ (stack-smashing) ¹¶·â¤ÎºÝ¤Ë
-¥Ý¥¤¥ó¥¿¤ò¾è¤Ã¼è¤ë¤³¤È¤òº¤Æñ¤Ë¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
-.TP
-.B LD_PROFILE
-.\"O (glibc since 2.1)
-.\"O Shared object to be profiled,
-.\"O specified either as a pathname or a soname.
-.\"O Profiling output is written to the file whose name is:
-.\"O "\fI$LD_PROFILE_OUTPUT\fP/\fI$LD_PROFILE\fP.profile".
-(glibc 2.1 °Ê¹ß)
-¥×¥í¥Õ¥¡¥¤¥ë¤ò¹Ô¤¦¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¡£
-¥Ñ¥¹Ì¾¤«¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È̾ (soname) ¤Ç»ØÄꤵ¤ì¤ë¡£
-¥×¥í¥Õ¥£¡¼¥ë¤Î½ÐÎϤÏ
-"\fI$LD_PROFILE_OUTPUT\fP/\fI$LD_PROFILE\fP.profile" ¤È¤¤¤¦Ì¾Á°¤Î
-¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¡£
-.TP
-.B LD_PROFILE_OUTPUT
-.\"O (glibc since 2.1)
-.\"O Directory where
-.\"O .B LD_PROFILE
-.\"O output should be written.
-.\"O If this variable is not defined, or is defined as an empty string,
-.\"O then the default is
-.\"O .IR /var/tmp .
-.\"O .B LD_PROFILE_OUTPUT
-.\"O is ignored for set-user-ID and set-group-ID programs,
-.\"O which always use
-.\"O .IR /var/profile .
-(glibc 2.1 °Ê¹ß)
-.B LD_PROFILE
-¤Î½ÐÎϤ¬½ñ¤­¹þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¡£
-¤³¤ÎÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢¶õ¤Îʸ»úÎó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¥Ç¥Õ¥©¥ë¥ÈÃͤÏ
-.I /var/tmp
-¤È¤Ê¤ë¡£
-set-user-ID/set-group-ID ¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
-LD_PROFILE_OUTPUT ¤Ï̵»ë¤µ¤ì¤ë¡£
-½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï¾ï¤Ë
-.I /var/profile
-¤¬»ÈÍѤµ¤ì¤ë¡£
-.TP
-.B LD_SHOW_AUXV
-.\"O (glibc since 2.1)
-.\"O Show auxiliary array passed up from the kernel.
-.\"O For security reasons, since glibc 2.3.5,
-.\"O .B LD_SHOW_AUXV
-.\"O is ignored for set-user-ID/set-group-ID binaries.
-(glibc 2.1 °Ê¹ß)
-¥«¡¼¥Í¥ë¤«¤éÅϤµ¤ì¤ëÊä½õŪ¤Ê (¥Ñ¥é¥á¡¼¥¿¤Î) ÇÛÎó¤òɽ¼¨¤¹¤ë¡£
-¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤«¤é¡¢glibc 2.3.4 °Ê¹ß¡¢
-set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï
-.B LD_SHOW_AUXV
-¤Ï̵»ë¤µ¤ì¤ë¡£
+(glibc 2.1 以降)  バイナリへのパス (set\-user\-ID されていないプログラムについて)。 セキュリティ上の理由から、glibc
+2.3.4 以降、 set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_ORIGIN_PATH\fP は無視される。
+.TP 
+\fBLD_POINTER_GUARD\fP
+(glibc 2.4 以降)  0 に設定すると、ポインタ保護 (pointer guarding) が無効になる。
+それ以外の値の場合はポインタ保護が有効になる。 デフォルトはポインタ保護有効である。
+ポインタ保護はセキュリティ機構の一つで、書き込み可能なプログラムメモリ に格納されたコードへのポインタをほぼランダム化することで、
+攻撃者がバッファオーバーランやスタック破壊 (stack\-smashing) 攻撃の際に ポインタを乗っ取ることを困難にするものである。
+.TP 
+\fBLD_PROFILE\fP
+(glibc 2.1 以降)  プロファイルを行う共有オブジェクト。 パス名か共有オブジェクト名 (soname) で指定される。 プロフィールの出力は
+"\fI$LD_PROFILE_OUTPUT\fP/\fI$LD_PROFILE\fP.profile" という名前の ファイルに書き込まれる。
+.TP 
+\fBLD_PROFILE_OUTPUT\fP
+(glibc 2.1 以降)  \fBLD_PROFILE\fP の出力が書き込まれるディレクトリ。
+この変数が定義されていないか、空の文字列が定義されている場合、 デフォルト値は \fI/var/tmp\fP となる。
+set\-user\-ID/set\-group\-ID されたプログラムでは、 LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に
+\fI/var/profile\fP が使用される。
+.TP 
+\fBLD_SHOW_AUXV\fP
 .\" FIXME
 .\" Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog)
 .\" Since glibc 2.3
 .\" Also enables DL_DEBUG_PRELINK
-.TP
-.B LD_USE_LOAD_BIAS
+(glibc 2.1 以降)  カーネルから渡される補助的な (パラメータの) 配列を表示する。 セキュリティ上の理由から、glibc 2.3.4
+以降、 set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_SHOW_AUXV\fP は無視される。
+.TP 
+\fBLD_USE_LOAD_BIAS\fP
 .\" http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
 .\" Subject: [PATCH] Support LD_USE_LOAD_BIAS
 .\" Jakub Jelinek
-.\"O By default (i.e., if this variable is not defined)
-.\"O executables and prelinked
-.\"O shared objects will honor base addresses of their dependent libraries
-.\"O and (nonprelinked) position-independent executables (PIEs)
-.\"O and other shared objects will not honor them.
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï (¤Ä¤Þ¤ê¡¢¤³¤ÎÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¡¢
-¼Â¹Ô¥Õ¥¡¥¤¥ë¤È prelink ¤µ¤ì¤¿¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¡¢¤½¤ì¤é¤¬°Í¸¤¹¤ë
-¥é¥¤¥Ö¥é¥ê¤Î¥Ù¡¼¥¹¥¢¥É¥ì¥¹¤¬Âº½Å¤µ¤ì¤ë°ìÊý¡¢
-(prelink ¤µ¤ì¤Æ¤¤¤Ê¤¤) position-independent executables (PIEs) ¤È
-¾¤Î¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï°Í¸¤¹¤ë¥é¥¤¥Ö¥é¥ê¤Î¥Ù¡¼¥¹¥¢¥É¥ì¥¹¤Ï
-º½Å¤µ¤ì¤Ê¤¤¡£
-.\"O If
-.\"O .B LD_USE_LOAD_BIAS
-.\"O is defined wit the value, both executables and PIEs
-.\"O will honor the base addresses.
-.B LD_USE_LOAD_BIAS
-¤ËÃͤ¬ÄêµÁ¤µ¤ì¤¿¾ì¹ç¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤È PIE ¤Î¤É¤Á¤é¤Ç¤â
-¥Ù¡¼¥¹¥¢¥É¥ì¥¹¤¬Âº½Å¤µ¤ì¤ë¡£
-.\"O If
-.\"O .B LD_USE_LOAD_BIAS
-.\"O is defined with the value 0,
-.\"O neither executables nor PIEs will honor the base addresses.
-.B LD_USE_LOAD_BIAS
-¤¬ÃÍ 0 ¤ÇÄêµÁ¤µ¤ì¤¿¾ì¹ç¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤È PIE ¤Î¤É¤Á¤é¤Ç¤â
-¥Ù¡¼¥¹¥¢¥É¥ì¥¹¤Ïº½Å¤µ¤ì¤Ê¤¤¡£
-.\"O This variable is ignored by set-user-ID and set-group-ID programs.
-set-user-ID ¤ä set-group-ID ¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
-¤³¤ÎÊÑ¿ô¤Ï̵»ë¤µ¤ì¤ë¡£
-.TP
-.B LD_VERBOSE
-.\"O (glibc since 2.1)
-.\"O If set to a nonempty string,
-.\"O output symbol versioning information about the
-.\"O program if querying information about the program (i.e., either
-.\"O .B LD_TRACE_LOADED_OBJECTS
-.\"O has been set, or
-.\"O .B \-\-list
-.\"O or
-.\"O .B \-\-verify
-.\"O options have been given to the dynamic linker).
-(glibc 2.1 °Ê¹ß)
-¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¤Ë¡¢
-.RB ( LD_TRACE_LOADED_OBJECTS
-¤òÀßÄꤹ¤ë¤«¡¢
-.B \-\-list
-¤Þ¤¿¤Ï
-.B \-\-verify
-¥ª¥×¥·¥ç¥ó¤òưŪ¥ê¥ó¥«¤Ë»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê)
-¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÌ䤤¹ç¤ï¤»¤ë¤È¡¢
-¥×¥í¥°¥é¥à¤Î¥·¥ó¥Ü¥ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë¡£
-.TP
-.B LD_WARN
-.\"O (ELF only)(glibc since 2.1.3)
-.\"O If set to a nonempty string, warn about unresolved symbols.
-(ELF ¤Î¤ß)(glibc 2.1.3 °Ê¹ß)
-¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¡¢²ò·è¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤¬¤¢¤ì¤Ð·Ù¹ð¤ò½Ð¤¹¡£
-.TP
-.B LDD_ARGV0
-(libc5)
-.\"O .IR argv [0]
-.\"O to be used by
-.\"O .BR ldd (1)
-.\"O when none is present.
-.BR ldd (1)
-¤Î°ú¤­¿ô¤¬¤Ê¤¤¾ì¹ç¤Ë¡¢
-.IR argv [0]
-¤È¤·¤Æ»È¤ï¤ì¤ëÃÍ¡£
-.\"O .TP
-.\"O .SH FILES
-.SH ¥Õ¥¡¥¤¥ë
+デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと prelink された共有オブジェクトでは、それらが依存する
+ライブラリのベースアドレスが尊重される一方、 (prelink されていない) position\-independent executables
+(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重されない。 \fBLD_USE_LOAD_BIAS\fP
+に値が定義された場合、実行ファイルと PIE のどちらでも ベースアドレスが尊重される。 \fBLD_USE_LOAD_BIAS\fP が値 0
+で定義された場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set\-user\-ID や set\-group\-ID
+されたプログラムでは、 この変数は無視される。
+.TP 
+\fBLD_VERBOSE\fP
+(glibc 2.1 以降) 空文字列でない場合に、\fBLD_TRACE_LOADED_OBJECTS\fP
+変数が設定されていれば、プログラムのシンボルバージョン情報を出力する。
+.TP 
+\fBLD_WARN\fP
+(ELF のみ)(glibc 2.1.3 以降)  空文字列でない場合、解決されていないシンボルがあれば警告を出す。
+.TP 
+\fBLDD_ARGV0\fP
+(libc5)  \fBldd\fP(1)  の引き数がない場合に、 \fIargv\fP[0] として使われる値。
+.SH ファイル
 .PD 0
-.TP
-.I /lib/ld.so
-.\"O a.out dynamic linker/loader
-a.out ¤ÎưŪ¥ê¥ó¥«/¥í¡¼¥À
-.TP
-.IR /lib/ld\-linux.so. { 1 , 2 }
-.\"O ELF dynamic linker/loader
-ELF ¤ÎưŪ¥ê¥ó¥«/¥í¡¼¥À
-.TP
-.I /etc/ld.so.cache
-.\"O File containing a compiled list of directories in which to search for
-.\"O libraries and an ordered list of candidate libraries.
-¥é¥¤¥Ö¥é¥ê¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò½¸¤á¤¿¥ê¥¹¥È¤È¡¢
-¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¸õÊä¤ÎÀ°Îó¥ê¥¹¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë¡£
-.TP
-.I /etc/ld.so.preload
-.\"O File containing a whitespace separated list of ELF shared libraries to
-.\"O be loaded before the program.
-¥×¥í¥°¥é¥à¤ÎÁ°¤Ë¥í¡¼¥É¤¹¤Ù¤­ ELF ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò
-¥¹¥Ú¡¼¥¹¤Ç¶èÀڤ俥ꥹ¥È¤¬½ñ¤«¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡£
-.TP
-.B lib*.so*
-.\"O shared libraries
-¶¦Í­¥é¥¤¥Ö¥é¥ê
+.TP 
+\fI/lib/ld.so\fP
+a.out の動的リンカ/ローダ
+.TP 
+\fI/lib/ld\-linux.so.\fP{\fI1\fP,\fI2\fP}
+ELF の動的リンカ/ローダ
+.TP 
+\fI/etc/ld.so.cache\fP
+ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列リストを含むファイル。
+.TP 
+\fI/etc/ld.so.preload\fP
+プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが書かれているファイル。
+.TP 
+\fBlib*.so*\fP
+共有ライブラリ
 .PD
-.\"O .SH NOTES
-.SH Ãí°Õ
-.\"O The
-.\"O .B ld.so
-.\"O functionality is available for executables compiled using libc version
-.\"O 4.4.3 or greater.
-.B ld.so
-¤Îµ¡Ç½¤Ï libc ¤Î¥Ð¡¼¥¸¥ç¥ó 4.4.3 °Ê¾å¤òÍѤ¤¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿
-¼Â¹Ô¥Õ¥¡¥¤¥ë¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ë¡£
-.\"O ELF functionality is available since Linux 1.1.52 and libc5.
-ELF ¤Îµ¡Ç½¤Ï Linux 1.1.52 °Ê¹ß¤È libc5 °Ê¹ß¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ë¡£
-.\"O .SH SEE ALSO
-.SH ´ØÏ¢¹àÌÜ
-.BR ldd (1),
-.BR rtld-audit (7),
-.BR ldconfig (8)
-.\"O .\" .SH AUTHORS
-.\" .SH Ãø¼Ô
+.SH 注意
+\fBld.so\fP の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行ファイルで使用可能である。 ELF の機能は
+Linux 1.1.52 以降と libc5 以降で使用可能である。
+.SH 関連項目
+.\" .SH AUTHORS
 .\" ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
 .\"  Torvalds, Lars Wirzenius and Mitch D'Souza
-.\"O .\" ld-linux.so: Roland McGrath, Ulrich Drepper and others.
-.\" ld-linux.so: Roland McGrath, Ulrich Drepper, ¤½¤Î¾¤Î¿Í¡¹
+.\" ld-linux.so: Roland McGrath, Ulrich Drepper and others.
 .\"
-.\"O .\" In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
-.\" ¾åµ­¤ÎÀâÌÀ¤Ë¤ª¤¤¤Æ¡¢(libc5) ¤Ï David Engel ¤Î
-.\" ld.so/ld-linux.so ¤òɽ¤·¤Æ¤¤¤ë¡£
+.\" In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
+\fBldd\fP(1), \fBsln\fP(1), \fBgetauxval\fP(3), \fBrtld\-audit\fP(7), \fBldconfig\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。