llvm-readobj - LLVM オブジェクトリーダー¶
概要¶
llvm-readobj [オプション] [入力…]
説明¶
llvm-readobj ツールは、1つ以上のオブジェクトファイルに関する低レベルのフォーマット固有の情報を表示します。
input
が “-
” の場合、llvm-readobj は標準入力から読み取ります。それ以外の場合は、指定された ファイル名
から読み取ります。
LLVM-READELF との違い¶
llvm-readelf は、コマンドラインインターフェイスと GNU 互換の出力がわずかに異なる llvm-readobj ツールのエイリアスです。llvm-readelf と llvm-readobj の違いのリストは次のとおりです。
llvm-readelf は、
--elf-output-style
オプションのデフォルトで GNU を使用します。llvm-readobj は LLVM を使用します。llvm-readelf は、単一文字のグループ化されたフラグを許可します(例:
llvm-readelf -SW
はllvm-readelf -S -W
と同じです)。llvm-readobj はグループ化を許可しません。llvm-readelf は、GNU readelf との互換性のために、
-s
を--symbols
のエイリアスとして提供します。一方、llvm-readobj では--section-headers
のエイリアスです。llvm-readobj は、
--symbols
のエイリアスとして-t
を提供します。llvm-readelf は提供しません。llvm-readobj は、
--section-relocations
、--section-data
、--section-symbols
および--dyn-symbols
のエイリアスとしてそれぞれ--sr
、--sd
、--st
および--dt
を提供します。llvm-readelf は、グループ化されたフラグとの競合を避けるために、これらのエイリアスを提供しません。
一般的なオプションおよび複数フォーマットオプション¶
これらのオプションは、複数のファイル形式に適用可能であるか、ファイル形式とは関係ありません。
- --all¶
ファイル形式に関連するすべての主要な表示オプションを指定するのと同じです。
- --addrsig¶
アドレス重要度テーブルを表示します。
- --decompress, -z¶
-x
または-p
とともに使用すると、解凍されたセクションの内容をダンプします。セクションが圧縮されていない場合は、そのまま表示されます。
- --demangle, -C¶
出力にデマングルされたシンボル名を表示します。このオプションは、ELF および XCOFF ファイル形式でのみ使用されます。
- --file-header, -h¶
ファイルヘッダーを表示します。
- --headers, -e¶
--file-header
、--program-headers
、および--sections
を設定するのと同じです。
- --help¶
コマンドラインオプションの概要を表示します。
- --hex-dump=<section[,section,...]>, -x¶
指定されたセクションを16進数のバイトとして表示します。
section
は、セクションインデックスまたはセクション名である場合があります。- --memtag¶
バイナリに存在するメモリータギングに関する情報を表示します。これには、さまざまな memtag 固有の動的エントリ、デコードされたグローバル記述子セクション、およびデコードされた Android 固有の ELF ノートが含まれます。
- --needed-libs¶
必要なライブラリを表示します。
- --no-demangle¶
出力にシンボル名をデマングルしません。このオプションは、ELF および XCOFF ファイル形式でのみ使用されます。このオプションはデフォルトで有効になっています。
- --relocations, --relocs, -r¶
ファイル内の再配置エントリを表示します。
- --sections, --section-headers, -S¶
すべてのセクションを表示します。
- --section-data, --sd¶
--sections
とともに使用すると、表示されている各セクションのセクションデータを表示します。このオプションは、GNU スタイルの出力では効果がありません。
- --section-relocations, --sr¶
--sections
とともに使用すると、表示されている各セクションの再配置を表示します。このオプションは、GNU スタイルの出力では効果がありません。
- --section-symbols, --st¶
--sections
とともに使用すると、表示されている各セクションのシンボルを表示します。このオプションは、GNU スタイルの出力では効果がありません。
- --sort-symbols=<sort_key[,sort_key]>¶
シンボルテーブルを表示する前にシンボルをソートするためのキーを指定します。sort_key の有効な値は、
name
とtype
です。
- --stackmap¶
スタックマップセクションの内容を表示します。
- --string-dump=<セクション[,セクション,...]>, -p¶
指定されたセクションを文字列のリストとして表示します。
セクション
には、セクションのインデックスまたはセクション名を指定できます。
- --string-table¶
文字列テーブルの内容を表示します。
- --symbols, --syms, -s¶
シンボルテーブルを表示します。
- --unwind, -u¶
アンワインド情報を表示します。
- --version¶
llvm-readobj 実行可能ファイルのバージョンを表示します。
- @<FILE>¶
レスポンスファイル <FILE> からコマンドラインオプションを読み込みます。
ELF 固有オプション¶
以下のオプションは、ELFファイル形式でのみ実装されています。
- --arch-specific, -A¶
アーキテクチャ固有の情報(例えば、ARM上のARM属性セクション)を表示します。
- --bb-addr-map¶
各関数のアドレスと各基本ブロックの相対オフセットを含む、基本ブロックアドレスマップセクションの内容を表示します。
PGO分析マップが存在する場合、すべての分析はその生の値を表示します。
- --pretty-pgo-analysis-map¶
基本ブロックアドレスマップセクションにPGO分析マップが存在する場合、特殊なフォーマット(つまり、BlockFrequency、BranchProbabilityなど)を持つ分析は、それぞれの分析パスと同じフォーマットを使用して表示されます。
--bb-addr-map
が有効である必要があります。
- --dependent-libraries¶
依存ライブラリセクションを表示します。
- --dyn-relocations¶
動的再配置エントリを表示します。
- --dyn-symbols, --dyn-syms, --dt¶
動的シンボルテーブルを表示します。
- --dynamic-table, --dynamic, -d¶
動的テーブルを表示します。
- --cg-profile¶
コールグラフプロファイルセクションを表示します。
- --histogram, -I¶
動的シンボルハッシュテーブルのバケットリストヒストグラムを表示します。
- --elf-linker-options¶
リンカーオプションセクションを表示します。
- --elf-output-style=<value>¶
指定されたスタイルでELF情報をフォーマットします。有効なオプションは、
LLVM
、GNU
、およびJSON
です。LLVM
出力(デフォルト)は、展開された構造化された形式です。GNU
出力は、同等のGNU readelf出力を模倣しています。JSON
は、機械による消費を目的としたJSON形式の出力です。
- --section-groups, -g¶
セクショングループを表示します。
- --gnu-hash-table¶
動的シンボルのGNUハッシュテーブルを表示します。
- --hash-symbols¶
動的シンボルデータを含む展開されたハッシュテーブルを表示します。
- --hash-table¶
動的シンボルのハッシュテーブルを表示します。
- --memtag¶
バイナリに存在するメモリタグに関する情報を表示します。これには、さまざまな動的エントリ、デコードされたグローバル記述子セクション、およびデコードされたAndroid固有のELFノートが含まれます。
- --notes, -n¶
すべてのノートを表示します。
- --pretty-print¶
--elf-output-style
と一緒に使用すると、JSON出力がより読みやすい形式でフォーマットされます。
- --program-headers, --segments, -l¶
プログラムヘッダーを表示します。
- --section-mapping¶
セクションからセグメントへのマッピングを表示します。
- --stack-sizes¶
スタックサイズセクションの内容(つまり、関数名とスタックフレームのサイズのペア)を表示します。現在、GNUスタイルの出力でのみ実装されています。
- --version-info, -V¶
バージョンセクションを表示します。
Mach-O 固有オプション¶
以下のオプションは、Mach-Oファイル形式でのみ実装されています。
- --macho-data-in-code¶
Data in Codeコマンドを表示します。
- --macho-dsymtab¶
Dsymtabコマンドを表示します。
- --macho-indirect-symbols¶
間接シンボルを表示します。
- --macho-linker-options¶
Mach-O固有のリンカーオプションを表示します。
- --macho-segment¶
Segmentコマンドを表示します。
- --macho-version-min¶
バージョン最小コマンドを表示します。
PE/COFF 固有オプション¶
以下のオプションは、PE/COFFファイル形式でのみ実装されています。
- --codeview¶
CodeViewデバッグ情報を表示します。
- --codeview-ghash¶
CodeView型ストリームの重複排除のためにグローバルハッシュを有効にします。
- --codeview-merged-types¶
マージされたCodeView型ストリームを表示します。
- --codeview-subsection-bytes¶
CodeViewデバッグセクションとレコードの生の内容をダンプします。
- --coff-basereloc¶
.relocセクションを表示します。
- --coff-debug-directory¶
デバッグディレクトリを表示します。
- --coff-tls-directory¶
TLSディレクトリを表示します。
- --coff-directives¶
.drectveセクションを表示します。
- --coff-exports¶
エクスポートテーブルを表示します。
- --coff-imports¶
インポートテーブルを表示します。
- --coff-load-config¶
ロード設定を表示します。
- --coff-resources¶
.rsrcセクションを表示します。
XCOFF固有のオプション¶
以下のオプションは、XCOFFファイル形式でのみ実装されています。
- --auxiliary-header¶
XCOFF補助ヘッダーを表示します。
- --exception-section¶
XCOFF例外セクションのエントリーを表示します。
- --loader-section-header¶
XCOFFローダーセクションヘッダーを表示します。
- --loader-section-symbols¶
ローダーセクションのシンボルテーブルを表示します。
- --loader-section-relocations¶
ローダーセクションの再配置エントリーを表示します。
終了ステータス¶
llvm-readobjは、正常な動作時には0を返します。エラーがあった場合は、0以外の終了コードを返します。