Provided by: manpages-ja_0.5.0.0.20131015+dfsg-2_all
名前
ldd - 共有ライブラリへの依存関係を表示する
書式
ldd [OPTION]... FILE...
説明
ldd はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞれで必要とされる 共有ライブラリを表示する。 セキュリティ 通常の場合、 ldd は標準の動的リンカ (ld.so(8) 参照) を LD_TRACE_LOADED_OBJECTS 環境変数に 1 をセットして起動する。 LD_TRACE_LOADED_OBJECTS に 1 をセットすると、リンカはライブラリの 依存関係を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実行する バージョンの ldd が存在する。したがって、信頼できない実行ファイルに対しては「決して」 ldd を使っては「ならない」。任意のコードを実行することにつながるからである。信頼できない実行 ファイルを扱う、より安全な別の方法としては次のようにするとよい。 $ objdump -p /path/to/program | grep NEEDED
オプション
--version ldd のバージョン番号を表示する。 -v --verbose シンボルのバージョン情報などを含めた全ての情報を表示する。 -u --unused 使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。 -d --data-relocs リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。 -r --function-relocs 足りないオブジェクトや関数についてレポートする (ELF のみ)。 --help 使用法を表示する。
注意
標準的なバージョンの ldd は glibc2 に付属している。 libc5 には古いバージョンのものが付属し ており、 これが入っているシステムもまだ存在する。 libc5 バージョンではロングオプションがサ ポートされていない。 一方、glibc2 バージョンでは -V をサポートしておらず、これと同じ意味の --version しかサポートしていない。 libc5 バージョンのプログラムでは、 コマンドラインで与えられたライブラリ名に '/' が含まれて いる場合は、ライブラリ名をそのまま用いる。 '/' が含まれていない場合は、標準的なパスからラ イブラリを検索する。 カレントディレクトリにある共有ライブラリに対して実行するには、 名前に プレフィックス "./" を付けること。
バグ
ldd は a.out 共有ライブラリでは動作しない。 ldd は非常に古い a.out プログラム (ldd のサポートがコンパイラに追加される以前にビルドされ たようなプログラム) では動作しない。 このようなプログラムに対して ldd を用いると、プログラ ムは argc = 0 で実行される。結果は予想不可能である。
関連項目
ld.so(8), ldconfig(8)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。 2012-07-16 LDD(1)