mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
601cf9f2c4
Users should generally observe no difference as long as they don't use unintended option forms. Behavior changes: * `-t=d` is removed. Use `-t d` instead. * `--demangle=false` and `--demangle=0` cannot be used. Omit the option or use `--no-demangle`. Other flag-style options don't have `--no-` forms. * `--help-list` is removed. This is a `cl::` specific option. * llvm-readobj now supports grouped short options as well. * `--color` is removed. This is generally not useful (only apply to errors/warnings) but was inherited from Support. Some adjustment to the canonical forms (usually from GNU readelf; currently llvm-readobj has too many redundant aliases): * --dyn-syms is canonical. --dyn-symbols is a hidden alias * --file-header is canonical. --file-headers is a hidden alias * --histogram is canonical. --elf-hash-histogram is a hidden alias * --relocs is canonical. --relocations is a hidden alias * --section-groups is canonical. --elf-section-groups is a hidden alias OptTable avoids global option collision if we decide to support multiplexing for binary utilities. * Most one-dash long options are still supported. `-dt, -sd, -st, -sr` are dropped due to their conflict with grouped short options. * `--section-mapping=false` (D57365) is strange but is kept for now. * Many `cl::opt` variables were unnecessarily external. I added `static` whenever appropriate. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D105532
324 lines
7.6 KiB
ReStructuredText
324 lines
7.6 KiB
ReStructuredText
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:: --all
|
|
|
|
Equivalent to specifying all the main display options relevant to the file
|
|
format.
|
|
|
|
.. option:: --addrsig
|
|
|
|
Display the address-significance table.
|
|
|
|
.. 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:: --relocations, --relocs, -r
|
|
|
|
Display the relocation entries in the file.
|
|
|
|
.. option:: --sections, --section-headers, -S
|
|
|
|
Display all sections.
|
|
|
|
.. 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:: --section-symbols, --st
|
|
|
|
When used with :option:`--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:: --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.
|
|
|
|
.. option:: --demangle, -C
|
|
|
|
Display demangled symbol names in the output.
|
|
|
|
.. option:: --dependent-libraries
|
|
|
|
Display the dependent libraries section.
|
|
|
|
.. option:: --dyn-relocations
|
|
|
|
Display the dynamic relocation entries.
|
|
|
|
.. option:: --dyn-symbols, --dyn-syms, --dt
|
|
|
|
Display the dynamic symbol table.
|
|
|
|
.. option:: --dynamic-table, --dynamic, -d
|
|
|
|
Display the dynamic table.
|
|
|
|
.. option:: --cg-profile
|
|
|
|
Display the callgraph profile section.
|
|
|
|
.. option:: --histogram, -I
|
|
|
|
Display a bucket list histogram for dynamic symbol hash tables.
|
|
|
|
.. 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`` and
|
|
``GNU``. ``LLVM`` output (the default) is an expanded and structured format,
|
|
whilst ``GNU`` output mimics the equivalent GNU :program:`readelf` output.
|
|
|
|
.. option:: --section-groups, -g
|
|
|
|
Display section groups.
|
|
|
|
.. 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:: --notes, -n
|
|
|
|
Display all notes.
|
|
|
|
.. option:: --program-headers, --segments, -l
|
|
|
|
Display the program headers.
|
|
|
|
.. option:: --raw-relr
|
|
|
|
Do not decode relocations in RELR relocation sections when displaying them.
|
|
|
|
.. 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-tls-directory
|
|
|
|
Display the TLS 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.
|
|
|
|
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)`
|