llvm-readobj - LLVM Object Reader

SYNOPSIS

llvm-readobj [options] [input…]

DESCRIPTION

The llvm-readobj tool displays low-level format-specific information about one or more object files.

If input is “-” or omitted, llvm-readobj reads from standard input. Otherwise, it will read from the specified filenames.

DIFFERENCES TO LLVM-READELF

llvm-readelf is an alias for the llvm-readobj tool with a slightly different command-line interface and output that is GNU compatible. Following is a list of differences between llvm-readelf and llvm-readobj:

  • llvm-readelf uses GNU for the --elf-output-style option by default. llvm-readobj uses LLVM.
  • llvm-readelf allows single-letter grouped flags (e.g. llvm-readelf -SW is the same as llvm-readelf -S -W). llvm-readobj does not allow grouping.
  • llvm-readelf provides -s as an alias for --symbols, for GNU readelf compatibility, whereas it is an alias for --section-headers in llvm-readobj.
  • llvm-readobj provides -t as an alias for --symbols. llvm-readelf does not.
  • llvm-readobj provides --sr, --sd, --st and --dt as aliases for --section-relocations, --section-data, --section-symbols and --dyn-symbols respectively. 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.

--all

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

--addrsig

Display the address-significance table.

--color

Use colors in the output for warnings and errors.

--expand-relocs

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

--file-headers, -h

Display file headers.

--headers, -e

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

--help

Display a summary of command line options.

--help-list

Display an uncategorized 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.

--needed-libs

Display the needed libraries.

--relocations, --relocs, -r

Display the relocation entries in the file.

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

Display all sections.

--section-data, --sd

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

--section-relocations, --sr

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

--section-symbols, --st

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.

--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, -t

Display the symbol table.

--unwind, -u

Display unwind information.

--version

Display the version of the llvm-readobj executable.

@<FILE>

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

ELF SPECIFIC OPTIONS

The following options are implemented only for the ELF file format.

--arch-specific, -A

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

--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, --dt

Display the dynamic symbol table.

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

Display the dynamic table.

--cg-profile

Display the callgraph profile section.

--elf-hash-histogram, --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 and GNU. LLVM output (the default) is an expanded and structured format, whilst GNU output mimics the equivalent GNU readelf output.

--elf-section-groups, --section-groups, -g

Display section groups.

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

--notes, -n

Display all notes.

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

Display the program headers.

--raw-relr

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

--section-mapping

Display the section to segment mapping.

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

--version-info, -V

Display version sections.

MACH-O SPECIFIC OPTIONS

The following options are implemented only for the Mach-O file format.

--macho-data-in-code

Display the Data in Code command.

--macho-dsymtab

Display the Dsymtab command.

--macho-indirect-symbols

Display indirect symbols.

--macho-linker-options

Display the Mach-O-specific linker options.

--macho-segment

Display the Segment command.

--macho-version-min

Display the version min command.

PE/COFF SPECIFIC OPTIONS

The following options are implemented only for the PE/COFF file format.

--codeview

Display CodeView debug information.

--codeview-ghash

Enable global hashing for CodeView type stream de-duplication.

--codeview-merged-types

Display the merged CodeView type stream.

--codeview-subsection-bytes

Dump raw contents of CodeView debug sections and records.

--coff-basereloc

Display the .reloc section.

--coff-debug-directory

Display the debug directory.

--coff-directives

Display the .drectve section.

--coff-exports

Display the export table.

--coff-imports

Display the import table.

--coff-load-config

Display the load config.

--coff-resources

Display the .rsrc section.

EXIT STATUS

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