# llvm-readelf - GNU-style LLVM Object Reader

## 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

--all, -a

  Equivalent to specifying all the main display options relevant to the file format.

--addrsig

  Display the address-significance table.

--arch-specific, -A

  Display architecture-specific information, e.g. the ARM attributes section on ARM.

--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.

--decompress, -z

  Dump decompressed section content when used with `-x` or `-p`. If the section(s) are not compressed, they are displayed as is.

--demangle, -C

  Display demangled symbol names in the output.

--dependent-libraries

  Display the dependent libraries section.

--dyn-relocations

  Display the dynamic relocation entries.

--dyn-symbols, --dyn-syms

  Display the dynamic symbol table.

--dynamic-table, --dynamic, -d

  Display the dynamic table.

--cg-profile

  Display the callgraph profile section.

--histogram, -I

  Display a bucket list histogram for dynamic symbol hash tables.

--elf-linker-options

  Display the linker options section.

--elf-output-style=<value>

  Format ELF information in the specified style. Valid options are `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.

--extra-sym-info

  Display extra information (section name) when showing symbols.

--section-groups, -g

  Display section groups.

--expand-relocs

  When used with `--relocations`, display each relocation in an expanded multi-line format.

--file-header, -h

  Display file headers.

--gnu-hash-table

  Display the GNU hash table for dynamic symbols.

--hash-symbols

  Display the expanded hash table with dynamic symbol data.

--hash-table

  Display the hash table for dynamic symbols.

--headers, -e

  Equivalent to setting: `--file-header`, `--program-headers`, and `--sections`.

--help

  Display a summary of command line options.

--hex-dump=<section[,section,...]>, -x

  Display the specified section(s) as hexadecimal bytes. `section` may be a section index or section name.

--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.

--needed-libs

  Display the needed libraries.

--no-demangle

  Do not display demangled symbol names in the output. On by default.

--notes, -n

  Display all notes.

--pretty-print

  When used with `--elf-output-style`, JSON output will be formatted in a more readable format.

--program-headers, --segments, -l

  Display the program headers.

--raw-relr

  Do not decode relocations in RELR relocation sections when displaying them.

--relocations, --relocs, -r

  Display the relocation entries in the file.

--sections, --section-headers, -S

  Display all sections.

--section-data

  When used with `--sections`, display section data for each section shown. This option has no effect for GNU style output.

--section-details, -t

  Display all section details. Used as an alternative to `--sections`.

--section-mapping

  Display the section to segment mapping.

--section-relocations

  When used with `--sections`, display relocations for each section shown. This option has no effect for GNU style output.

--section-symbols

  When used with `--sections`, display symbols for each section shown. This option has no effect for GNU style output.

--stackmap

  Display contents of the stackmap section.

--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.

--string-dump=<section[,section,...]>, -p

  Display the specified section(s) as a list of strings. `section` may be a section index or section name.

--symbols, --syms, -s

  Display the symbol table. Also display the dynamic symbol table when using GNU output style for ELF.

--unwind, -u

  Display unwind information.

--version

  Display the version of the llvm-readelf executable.

--version-info, -V

  Display version sections.

--wide, -W

  Ignored for GNU readelf compatibility. The output is already similar to when using -W with GNU readelf.

@<FILE>

  Read command-line options from response file <FILE>.

## EXIT STATUS

llvm-readelf returns 0 under normal operation. It returns a non-zero exit code if there were any errors.

## SEE ALSO

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