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