llvm-readobj - LLVM 物件讀取器¶
概要¶
llvm-readobj [選項] [輸入…]
說明¶
llvm-readobj 工具程式會顯示關於一或多個物件檔案的底層、特定格式資訊。
如果 input
為 “-
”,llvm-readobj 會從標準輸入讀取。否則,它會從指定的 filenames
讀取。
與 LLVM-READELF 的差異¶
llvm-readelf 是 llvm-readobj 工具程式的別名,具有稍微不同的命令列介面和與 GNU 相容的輸出。以下是 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 提供
-s
作為--symbols
的別名,以與 GNU readelf 相容,而它在 llvm-readobj 中是--section-headers
的別名。llvm-readobj 提供
-t
作為--symbols
的別名。llvm-readelf 沒有。llvm-readobj 提供
--sr
、--sd
、--st
和--dt
作為--section-relocations
、--section-data
、--section-symbols
和--dyn-symbols
的別名。 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¶
以十六進位位元組顯示指定的區段。
section
可以是區段索引或區段名稱。- --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=<section[,section,...]>, -p¶
將指定的區段顯示為字串列表。
section
可以是區段索引或區段名稱。
- --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¶
顯示程式碼中資料命令。
- --macho-dsymtab¶
顯示 Dsymtab 命令。
- --macho-indirect-symbols¶
顯示間接符號。
- --macho-linker-options¶
顯示 Mach-O 特定連結器選項。
- --macho-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。如果發生任何錯誤,則傳回非零結束代碼。