| 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-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)` |