| # llvm-readobj - LLVM Object Reader |
| |
| :::{program} llvm-readobj |
| ::: |
| |
| ## SYNOPSIS |
| |
| {program}`llvm-readobj` \[*options*\] \[*input...*\] |
| |
| ## DESCRIPTION |
| |
| The {program}`llvm-readobj` tool displays low-level format-specific information |
| about one or more object files. |
| |
| If `input` is "`-`", {program}`llvm-readobj` reads from standard |
| input. Otherwise, it will read from the specified `filenames`. |
| |
| ## DIFFERENCES TO LLVM-READELF |
| |
| {program}`llvm-readelf` is an alias for the {manpage}`llvm-readobj` tool with a |
| slightly different command-line interface and output that is GNU compatible. |
| Following is a list of differences between {program}`llvm-readelf` and |
| {program}`llvm-readobj`: |
| |
| - {program}`llvm-readelf` uses `GNU` for the {option}`--elf-output-style` option |
| by default. {program}`llvm-readobj` uses `LLVM`. |
| - {program}`llvm-readelf` allows single-letter grouped flags (e.g. |
| `llvm-readelf -SW` is the same as `llvm-readelf -S -W`). |
| {program}`llvm-readobj` does not allow grouping. |
| - {program}`llvm-readelf` provides {option}`-s` as an alias for |
| {option}`--symbols`, for GNU {program}`readelf` compatibility, whereas it is |
| an alias for {option}`--section-headers` in {program}`llvm-readobj`. |
| - {program}`llvm-readobj` provides `-t` as an alias for {option}`--symbols`. |
| {program}`llvm-readelf` does not. |
| - {program}`llvm-readobj` provides `--sr`, `--sd`, `--st` and `--dt` as |
| aliases for {option}`--section-relocations`, {option}`--section-data`, |
| {option}`--section-symbols` and {option}`--dyn-symbols` respectively. |
| {program}`llvm-readelf` does not provide these aliases, to avoid conflicting |
| with grouped flags. |
| |
| ## GENERAL AND MULTI-FORMAT OPTIONS |
| |
| These options are applicable to more than one file format, or are unrelated to |
| file formats. |
| |
| :::{option} --addrsig |
| Display the address-significance table. |
| ::: |
| |
| :::{option} --all |
| Equivalent to specifying all the main display options relevant to the file |
| format. |
| ::: |
| |
| :::{option} --decompress, -z |
| Dump decompressed section content when used with `-x` or `-p`. |
| If the section(s) are not compressed, they are displayed as is. |
| ::: |
| |
| :::{option} --demangle, -C |
| Display demangled symbol names in the output. This option is only for ELF and |
| XCOFF file formats. |
| ::: |
| |
| :::{option} --expand-relocs |
| When used with {option}`--relocs`, display each relocation in an expanded |
| multi-line format. |
| ::: |
| |
| :::{option} --file-header, -h |
| Display file headers. |
| ::: |
| |
| :::{option} --headers, -e |
| Equivalent to setting: {option}`--file-header`, {option}`--program-headers`, |
| and {option}`--sections`. |
| ::: |
| |
| :::{option} --help |
| Display a summary of command line options. |
| ::: |
| |
| :::{option} --hex-dump=<section[,section,...]>, -x |
| Display the specified section(s) as hexadecimal bytes. `section` may be a |
| section index or section name. |
| ::: |
| |
| :::{option} --needed-libs |
| Display the needed libraries. |
| ::: |
| |
| :::{option} --no-demangle |
| Do not demangle symbol names in the output. This option is only for ELF and |
| XCOFF file formats. The option is enabled by default. |
| ::: |
| |
| :::{option} --offloading |
| Display list of HIP offload bundles. |
| ::: |
| |
| :::{option} --relocations, --relocs, -r |
| Display the relocation entries in the file. |
| ::: |
| |
| :::{option} --section-data, --sd |
| When used with {option}`--sections`, display section data for each section |
| shown. This option has no effect for GNU style output. |
| ::: |
| |
| :::{option} --section-relocations, --sr |
| When used with {option}`--sections`, display relocations for each section |
| shown. This option has no effect for GNU style output. |
| ::: |
| |
| :::{option} --sections, --section-headers, -S |
| Display all sections. |
| ::: |
| |
| :::{option} --section-symbols, --st |
| When used with {option}`--sections`, display symbols for each section shown. |
| This option has no effect for GNU style output. |
| ::: |
| |
| :::{option} --sort-symbols=<sort_key[,sort_key]> |
| Specify the keys to sort symbols before displaying symtab. |
| Valid values for sort_key are `name` and `type`. |
| ::: |
| |
| :::{option} --stackmap |
| Display contents of the stackmap section. |
| ::: |
| |
| :::{option} --string-dump=<section[,section,...]>, -p |
| Display the specified section(s) as a list of strings. `section` may be a |
| section index or section name. |
| ::: |
| |
| :::{option} --string-table |
| Display contents of the string table. |
| ::: |
| |
| :::{option} --symbols, --syms, -s |
| Display the symbol table. |
| ::: |
| |
| :::{option} --unwind, -u |
| Display unwind information. |
| ::: |
| |
| :::{option} --version |
| Display the version of the {program}`llvm-readobj` executable. |
| ::: |
| |
| :::{option} @<FILE> |
| Read command-line options from response file `<FILE>`. |
| ::: |
| |
| ## ELF SPECIFIC OPTIONS |
| |
| The following options are implemented only for the ELF file format. |
| |
| :::{option} --arch-specific, -A |
| Display architecture-specific information, e.g. the ARM attributes section on ARM. |
| ::: |
| |
| :::{option} --bb-addr-map |
| Display the contents of the basic block address map section(s), which contain the |
| address of each function, along with the relative offset of each basic block. |
| |
| When pgo analysis maps are present, all analyses are printed as their raw |
| value. |
| ::: |
| |
| :::{option} --call-graph-info |
| Display the call graph section entries i.e. for each function |
| its identifying information, each of its direct callees' information |
| and for each indirect callee a 64-bit number representing the callee's |
| function signature. This information can be used to reconstruct |
| the program call graph. |
| ::: |
| |
| :::{option} --cg-profile |
| Display the callgraph profile section. |
| ::: |
| |
| :::{option} --dependent-libraries |
| Display the dependent libraries section. |
| ::: |
| |
| :::{option} --dynamic-table, --dynamic, -d |
| Display the dynamic table. |
| ::: |
| |
| :::{option} --dyn-relocations |
| Display the dynamic relocation entries. |
| ::: |
| |
| :::{option} --dyn-symbols, --dyn-syms, --dt |
| Display the dynamic symbol table. |
| ::: |
| |
| :::{option} --elf-linker-options |
| Display the linker options section. |
| ::: |
| |
| :::{option} --elf-output-style=<value> |
| Format ELF information in the specified style. Valid options are `LLVM`, |
| `GNU`, and `JSON`. `LLVM` output (the default) is an expanded and |
| structured format. `GNU` output mimics the equivalent GNU {program}`readelf` |
| output. `JSON` is JSON formatted output intended for machine consumption. |
| ::: |
| |
| :::{option} --gnu-hash-table |
| Display the GNU hash table for dynamic symbols. |
| ::: |
| |
| :::{option} --hash-symbols |
| Display the expanded hash table with dynamic symbol data. |
| ::: |
| |
| :::{option} --hash-table |
| Display the hash table for dynamic symbols. |
| ::: |
| |
| :::{option} --histogram, -I |
| Display a bucket list histogram for dynamic symbol hash tables. |
| ::: |
| |
| :::{option} --memtag |
| Display information about memory tagging present in the binary. This includes |
| various dynamic entries, decoded global descriptor sections, and decoded |
| Android-specific ELF notes. |
| ::: |
| |
| :::{option} --notes, -n |
| Display all notes. |
| ::: |
| |
| :::{option} --pretty-pgo-analysis-map |
| When pgo analysis maps are present in the basic block address map section(s), |
| analyses with special formats (i.e. BlockFrequency, BranchProbability, etc) |
| are printed using the same format as their respective analysis pass. |
| |
| Requires {option}`--bb-addr-map` to have an effect. |
| ::: |
| |
| :::{option} --pretty-print |
| When used with {option}`--elf-output-style`, JSON output will be formatted in |
| a more readable format. |
| ::: |
| |
| :::{option} --program-headers, --segments, -l |
| Display the program headers. |
| ::: |
| |
| :::{option} --section-groups, -g |
| Display section groups. |
| ::: |
| |
| :::{option} --section-mapping |
| Display the section to segment mapping. |
| ::: |
| |
| :::{option} --stack-sizes |
| Display the contents of the stack sizes section(s), i.e. pairs of function |
| names and the size of their stack frames. Currently only implemented for GNU |
| style output. |
| ::: |
| |
| :::{option} --version-info, -V |
| Display version sections. |
| ::: |
| |
| ## MACH-O SPECIFIC OPTIONS |
| |
| The following options are implemented only for the Mach-O file format. |
| |
| :::{option} --macho-data-in-code |
| Display the Data in Code command. |
| ::: |
| |
| :::{option} --macho-dsymtab |
| Display the Dsymtab command. |
| ::: |
| |
| :::{option} --macho-indirect-symbols |
| Display indirect symbols. |
| ::: |
| |
| :::{option} --macho-linker-options |
| Display the Mach-O-specific linker options. |
| ::: |
| |
| :::{option} --macho-segment |
| Display the Segment command. |
| ::: |
| |
| :::{option} --macho-target-triple |
| Display the target triple command. |
| ::: |
| |
| :::{option} --macho-version-min |
| Display the version min command. |
| ::: |
| |
| ## PE/COFF SPECIFIC OPTIONS |
| |
| The following options are implemented only for the PE/COFF file format. |
| |
| :::{option} --codeview |
| Display CodeView debug information. |
| ::: |
| |
| :::{option} --codeview-ghash |
| Enable global hashing for CodeView type stream de-duplication. |
| ::: |
| |
| :::{option} --codeview-merged-types |
| Display the merged CodeView type stream. |
| ::: |
| |
| :::{option} --codeview-subsection-bytes |
| Dump raw contents of CodeView debug sections and records. |
| ::: |
| |
| :::{option} --coff-basereloc |
| Display the .reloc section. |
| ::: |
| |
| :::{option} --coff-debug-directory |
| Display the debug directory. |
| ::: |
| |
| :::{option} --coff-directives |
| Display the .drectve section. |
| ::: |
| |
| :::{option} --coff-exports |
| Display the export table. |
| ::: |
| |
| :::{option} --coff-imports |
| Display the import table. |
| ::: |
| |
| :::{option} --coff-load-config |
| Display the load config. |
| ::: |
| |
| :::{option} --coff-resources |
| Display the .rsrc section. |
| ::: |
| |
| :::{option} --coff-tls-directory |
| Display the TLS directory. |
| ::: |
| |
| ## XCOFF SPECIFIC OPTIONS |
| |
| The following options are implemented only for the XCOFF file format. |
| |
| :::{option} --auxiliary-header |
| Display XCOFF Auxiliary header. |
| ::: |
| |
| :::{option} --exception-section |
| Display XCOFF exception section entries. |
| ::: |
| |
| :::{option} --loader-section-header |
| Display XCOFF loader section header. |
| ::: |
| |
| :::{option} --loader-section-relocations |
| Display relocation entries of loader section. |
| ::: |
| |
| :::{option} --loader-section-symbols |
| Display symbol table of loader section. |
| ::: |
| |
| ## EXIT STATUS |
| |
| {program}`llvm-readobj` returns 0 under normal operation. It returns a non-zero |
| exit code if there were any errors. |
| |
| ## SEE ALSO |
| |
| {manpage}`llvm-nm(1)`, {manpage}`llvm-objdump(1)`, {manpage}`llvm-readelf(1)` |
| |