この記事は、このテーマに馴染みのない方にとって十分な背景情報を提供していません。(2018年7月) |
readelfは、 objdumpに似た、 Unix系システム上のオブジェクトファイルに関する様々な情報を表示するためのプログラムです。GNU binutilsの一部です。
readelf と objdump
このセクションの文体やスタイルは、Wikipedia で使用されている百科事典的な文体を反映していない可能性があります。より良い記事を書くための( 2024年7月) |
どちらのプログラムもELF形式のファイルの内容を表示できます。objdumpはELFファイルをBFDフィルターを通して処理します。BFDにe_flags内のマシン定数に関するバグがあっても、内部的な一貫性が保たれる可能性は高いです。リンカーはBFDの方法で処理し、objdumpもBFDの方法で処理し、GASもBFDの方法で処理します。そのため、ファイルに実際に何が書かれているのかを調べるツールが必要でした。
このため、readelf プログラムは BFD ライブラリにリンクしません。BFD が正しく動作するかどうかを確認するための独立したプログラムとして存在します。
また、readelf は ELF ファイルに関して、 objdumpよりも多くの情報を提供できる場合もあります。特に、(現時点では)objdump では表示できない DWARF デバッグ情報を表示できます。[ 1 ]
例
次のコマンドは、ファイルの動的セクションの内容を表示します(共有ライブラリの依存関係とrpathを調べるため)。[ 2 ]
$ readelf -d <ファイル名> 参考文献
- ^ 「readelf vs. objdump: なぜ両方必要なのか」binutils-gdb のGitHub。
- ^ "readelf(1) - Linuxマニュアルページ" . man7.org . 2021年4月9日閲覧。