LLVM-READELF(1)

NAME
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-nm.html>, llvm-objdump(1) <llvm-objdump.html>, llvm-readobj(1) <llvm-readobj.html>

Author
Maintained by the LLVM Team (https://llvm.org/).

Copyright
2003-2025, LLVM Project