llvm-readobj - LLVM オブジェクトリーダー

概要

llvm-readobj [オプション] [入力…]

説明

llvm-readobj ツールは、1つ以上のオブジェクトファイルに関する低レベルのフォーマット固有の情報を表示します。

input が “-” の場合、llvm-readobj は標準入力から読み取ります。それ以外の場合は、指定された ファイル名 から読み取ります。

LLVM-READELF との違い

llvm-readelf は、コマンドラインインターフェイスと GNU 互換の出力がわずかに異なる llvm-readobj ツールのエイリアスです。llvm-readelfllvm-readobj の違いのリストは次のとおりです。

  • llvm-readelf は、--elf-output-style オプションのデフォルトで GNU を使用します。llvm-readobjLLVM を使用します。

  • llvm-readelf は、単一文字のグループ化されたフラグを許可します(例: llvm-readelf -SWllvm-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 ファイル形式でのみ使用されます。

--expand-relocs

--relocs とともに使用すると、各再配置を拡張された複数行形式で表示します。

--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 の有効な値は、nametype です。

--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情報をフォーマットします。有効なオプションは、LLVMGNU、および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以外の終了コードを返します。

関連項目

llvm-nm(1), llvm-objdump(1), llvm-readelf(1)