名称
elfdump ― オブジェクトファイルに含まれている情報をダンプ
構文
elfdump [-acCdfghHjkLopqrsStuUvV]
[-dc] [-dl] [-tx]
[-tv] [-D num] [+D num2] [+interp] [+linkmap]
[+linkmap_bss] [+linkmap_file]
[-n name] [+objdebug] [+s section] [-T num] [+T num2] files...
説明
elfdump は 1 つ以上のオブジェクトファイルまたはライブラリを調べ、それらに関する情報をダンプします。次のオプションが使用できます。
| -a | | アーカイブライブラリからアーカイブヘッダをダンプします。 |
| -c | | 文字列テーブルをダンプします。 |
| -C | | (修飾子) C++ シンボル名を変換した後で、それを表示します。
この修飾子は -c、 -r、 -s、および -t と一緒の場合に有効です。 -H と一緒に指定すると、この修飾子は無視されます。 -n name と一緒に指定すると、元の意味がわかるように変換されたシンボルで、 name と一致したものだけが表示され、そのシンボル名は変換後の名前として表示されます。 |
| -d | | コンパイル単位辞書とリンカーフットプリントが収められている .notes セクションを表示します。
このオプションは elfdump -dc -dl と同じ効果があります。 |
| -dc | | .notes セクション内のコンパイル単位辞書を表示します。 |
| -dl | | .notes セクション内のリンカーフットプリントを表示します。
リンカーフットプリントには、そのファイルを生成したリンカーとリンク時刻の情報が記録されています。 |
| -D num | | (修飾子) num という索引のセクションを表示します。 |
| +D num2 | | (修飾子) 1 から num2 までの範囲内のセクションを表示します。 -D と一緒に使った場合は、 num から num2 までの範囲内のセクションが表示されます。 -h、 -r、 -s と一緒の場合に有効です。 -r と一緒に使った場合は、範囲内のセクションに該当する再配置部分だけが表示されます。 |
| -f | | ファイルヘッダ (ELF ヘッダ) をダンプします。 |
| -g | | アーカイブからグローバルシンボルをダンプします。 |
| -h | | セクションヘッダをダンプします。 |
| -H | | (修飾子) すべてのオプションで出力情報を 16 進数、8 進数、または
10 進数の形式でダンプします。 |
| +interp | | a.out の実行時インタプリタのパス名を表示します
(通常は、ダイナミックローダとマイクロローダのパス)。 共有バインド実行可能ファイルにだけがこの文字列を持ちます。
この設定を変更するには ld +interp コマンドを使用します。 |
| -j | | ソースファイルが +objdebug オプションを使用してコンパイルされたか、 +tools オプション
(PA-RISC のみ) を使用してリンクされた場合に、1 つ以上の実行可能ファイルのオブジェクトディクショナリを表示します。
オブジェクトディクショナリのエントリーには、特定のセクションに属するオブジェクトファイルの名前、そのセクション内の相対オフセット、オブジェクトファイルのサイズ、エントリーの属性が保存されています。 |
| -k | | ディレクトリのメンバー関係に従って、CTTI セクションヘッダを表示します。 |
| -L | | 共有ライブラリとダイナミックにリンクされたプログラムファイル内の .dynamic セクションをダンプします。 |
| +linkmap | | .linkmap セクションを表示します。
このセクションは、 増分リンク (ld +ild コマンドを使用)
を行った時、あるいは リンカーオプション +objdebug (デフォルト)
を -g (非デフォルト) オプションと一緒に使用した時にだけ作成されます。 |
| +linkmap_bss | | .linkmap_bss セクションを表示します。
このセクションは、 増分リンク (ld +ild コマンドを使用)
を行った時、あるいは リンカーオプション +objdebug (デフォルト)
を -g (非デフォルト) オプションと一緒に使用した時にだけ作成されます。 |
| +linkmap_file | | .linkmap_file セクションを表示します。
このセクションは、 増分リンク (ld +ild コマンドを使用)
を行った時、あるいは リンカーオプション +objdebug (デフォルト)
を -g (非デフォルト) オプションと一緒に使用した時にだけ作成されます。 |
| -n name | | (修飾子) 指定されたセクションまたはシンボル名 に関する情報をダンプします。 このオプションは、 -h、 -r、 -s、および -t と一緒の場合に有効です。 -t と一緒に使った場合、 name はシンボル名に属し、 elfdump は name と一致した名前を持つシンボルエントリーだけをダンプします。その他のオプションと一緒に使用すると、 name はセクション名に属し、 elfdump はそれに一致した名前を持つセクションだけをダンプします。 |
| -o | | 任意のヘッダ (プログラムヘッダ) をダンプします。 |
| -p | | (修飾子) すべてのオプションでタイトルを表示しません。 |
| -q | | (修飾子) CTTI セクションヘッダを表示しません。 -k オプションと一緒に指定した場合に有効です。 |
| -r | | 再配置をダンプします。 |
| -s | | セクションの内容をダンプします。 |
| +objdebug | | .objdebug_ で始まるセクションを、
文字列テーブルとしてダンプします。 |
| +s name | | (修飾子) name によって指定されたセクションをダンプします。 -c および -t オプションと一緒に指定した場合に有効です。 |
| -S | | (修飾子) 出力情報を短い形式でダンプします。 オプション -h および -o と一緒に使う場合に有効です。 |
| -t | | シンボルテーブルのエントリーをダンプします。 |
| -tx | | (Itanium ベース システム) -t オプションでダンプされる情報に加えて、
シンボルテーブル内の st_shndx の値をダンプします。
このオプションは、 シンボルテーブル内に保存されたデータを検証する際に役立ちます。 |
| -T num | | num という索引をもつシンボルを表示します。 |
| +T num2 | | (修飾子) 0 から num2 の範囲内のシンボルを表示します。 -T と一緒に使用すると、 num から num2 範囲内のシンボルを表示します。 -t と一緒の場合に有効です。 |
| -tv | | バージョン付きシンボルを表示します。 |
| -u | | 使用法メニューを表示します。 |
| -U | | アンワインドテーブルを表示します。 |
| -v | | (修飾子) CTTI セクションヘッダを検証した後で表示します。 -k オプションと一緒に指定した場合に有効です。 |
| -V | | elfdump のバージョン番号を表示します。 |
例
共有ライブラリでエクスポートされている関数を調べるには :
$ elfdump -s -n .dynsym libsubs.so | grep 'FUNC GLOB' | grep -v UNDEF
共有ライブラリでエクスポートされているグローバルデータを調べるには
:
$ elfdump -s -n .dynsym libsubs.so | grep 'OBJT GLOB' | grep -v UNDEF
文字列テーブルの情報 (.strtab) を表示するには
:
プログラムまたは共有ライブラリにリンクされている共有ライブラリをリストするには :
$ elfdump -L a.out | grep Needed
$ chatr a.out # shared library list
プログラムがオープンする共有ライブラリの埋め込みパスをリストするには
:
$ elfdump -L a.out | grep Rpath # or
$ elfdump -s -n .dynamic a.out | grep Rpath
$ chatr a.out # embedded path
参照
テキストおよび指導書
| 『『HP-UX
リンカー & ライブラリー オンライン ユーザーズガイド』』 |
| | | (+help オプションを参照) |
| 『『HP-UX リンカー & ライブラリー
ユーザーズガイド』』 |
| | | |
| 『HP-UX Software Transition Toolkit
(STK) -- ELF Object Formats』 |
| | | http://devrsrc1.external.hp.com/STK_ja/ |