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 は a.out 共有ライブラリでは動作しない。
ldd は非常に古い a.out プログラム (ldd のサポートがコンパイラに追加される以前にビルドされたようなプログラム) では動作しない。 このようなプログラムに対して ldd を用いると、プログラムは argc = 0 で実行される。結果は予想不可能である。
sprof(1), pldd(1), ld.so(8), ldconfig(8)
この man ページは Linux man−pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man−pages/ に書かれている。