llvm-readelf - GNU-style LLVM Object Reader¶
:::{program} llvm-readelf :::
SYNOPSIS¶
llvm-readelf [options] [input…]
DESCRIPTION¶
The llvm-readelf tool displays low-level format-specific information about one or more object files.
If input is “-”, llvm-readelf reads from standard
input. Otherwise, it will read from the specified filenames.
OPTIONS¶
::::{option} –addrsig Display the address-significance table.
:::{option} –all, -a :::
Equivalent to specifying all the main display options relevant to the 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. :::
:::{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. The output format is described in .llvm.callgraph Section Layout. :::
:::{option} –cg-profile Display the callgraph profile section. :::
:::{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. :::
:::{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 Display the dynamic symbol table. :::
:::{option} –elf-linker-options Display the linker options section. :::
:::{option} –elf-output-style=LLVM,
GNU, and JSON. LLVM output is an expanded and structured format.
GNU (the default) output mimics the equivalent GNU readelf
output. JSON is JSON formatted output intended for machine consumption.
:::
:::{option} –extra-sym-info Display extra information (section name) when showing symbols. :::
:::{option} –expand-relocs
When used with --relocations, display each relocation in an expanded
multi-line format.
:::
:::{option} –file-header, -h Display file headers. :::
:::{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} –headers, -e
Equivalent to setting: --file-header, --program-headers,
and --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} –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 memtag-specific dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes. :::
:::{option} –needed-libs Display the needed libraries. :::
:::{option} –no-demangle Do not display demangled symbol names in the output. On by default. :::
:::{option} –notes, -n Display all notes. :::
:::{option} –offloading Display list of HIP offload bundles. :::
:::{option} –pretty-print
When used with --elf-output-style, JSON output will be formatted in
a more readable format.
:::
:::{option} –program-headers, –segments, -l Display the program headers. :::
:::{option} –relocations, –relocs, -r Display the relocation entries in the file. :::
:::{option} –section-data
When used with --sections, display section data for each section
shown. This option has no effect for GNU style output.
:::
:::{option} –section-details, -t
Display all section details. Used as an alternative to --sections.
:::
:::{option} –section-groups, -g Display section groups. :::
:::{option} –section-mapping Display the section to segment mapping. :::
:::{option} –section-relocations
When used with --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
When used with --sections, display symbols for each section shown.
This option has no effect for GNU style output.
:::
:::{option} –stackmap Display contents of the stackmap section. :::
:::{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. In LLVM and JSON output (see
--elf-output-style), each entry in a linked file also includes the
function’s address.
:::
:::{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} –symbols, –syms, -s Display the symbol table. Also display the dynamic symbol table when using GNU output style for ELF. :::
:::{option} –unwind, -u Display unwind information. :::
:::{option} –version Display the version of the llvm-readelf executable. :::
:::{option} –version-info, -V Display version sections. :::
:::{option} –wide, -W Ignored for GNU readelf compatibility. The output is already similar to when using -W with GNU readelf. :::
:::{option} @<FILE>.
:::
EXIT STATUS¶
llvm-readelf returns 0 under normal operation. It returns a non-zero exit code if there were any errors.
