リーデルフ

readelfは、 objdumpに似た、 Unix系システム上のオブジェクトファイルに関する様々な情報を表示するためのプログラムです。GNU binutilsの一部です。

readelf と objdump

どちらのプログラムも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 <ファイル名> 

参考文献

  1. ^ 「readelf vs. objdump: なぜ両方必要なのか」binutils-gdb のGitHub
  2. ^ "readelf(1) - Linuxマニュアルページ" . man7.org . 2021年4月9日閲覧