mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
ffe6466b17
Add a flag to change dsymutil's behavior and force a static variable to keep its enclosing function. The test shows a situation where that could be useful. I'm not convinced this behavior makes sense as a default, which is why it's behind a flag. rdar://74918374 Differential revision: https://reviews.llvm.org/D101337
173 lines
5.1 KiB
ReStructuredText
173 lines
5.1 KiB
ReStructuredText
dsymutil - manipulate archived DWARF debug symbol files
|
|
=======================================================
|
|
|
|
.. program:: dsymutil
|
|
|
|
SYNOPSIS
|
|
--------
|
|
|
|
| :program:`dsymutil` [*options*] *executable*
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
:program:`dsymutil` links the DWARF debug information found in the object files
|
|
for an executable *executable* by using debug symbols information contained in
|
|
its symbol table. By default, the linked debug information is placed in a
|
|
``.dSYM`` bundle with the same name as the executable.
|
|
|
|
OPTIONS
|
|
-------
|
|
.. option:: --accelerator=<accelerator type>
|
|
|
|
Specify the desired type of accelerator table. Valid options are 'Apple',
|
|
'Dwarf' and 'Default'.
|
|
|
|
.. option:: --arch <arch>
|
|
|
|
Link DWARF debug information only for specified CPU architecture types.
|
|
Architectures may be specified by name. When using this option, an error will
|
|
be returned if any architectures can not be properly linked. This option can
|
|
be specified multiple times, once for each desired architecture. All CPU
|
|
architectures will be linked by default and any architectures that can't be
|
|
properly linked will cause :program:`dsymutil` to return an error.
|
|
|
|
.. option:: --dump-debug-map
|
|
|
|
Dump the *executable*'s debug-map (the list of the object files containing the
|
|
debug information) in YAML format and exit. Not DWARF link will take place.
|
|
|
|
.. option:: --flat, -f
|
|
|
|
Produce a flat dSYM file. A ``.dwarf`` extension will be appended to the
|
|
executable name unless the output file is specified using the ``-o`` option.
|
|
|
|
.. option:: --gen-reproducer
|
|
|
|
Generate a reproducer consisting of the input object files.
|
|
|
|
.. option:: --help, -h
|
|
|
|
Print this help output.
|
|
|
|
.. option:: --keep-function-for-static
|
|
|
|
Make a static variable keep the enclosing function even if it would have been
|
|
omitted otherwise.
|
|
|
|
.. option:: --minimize, -z
|
|
|
|
When used when creating a dSYM file, this option will suppress the emission of
|
|
the .debug_inlines, .debug_pubnames, and .debug_pubtypes sections since
|
|
dsymutil currently has better equivalents: .apple_names and .apple_types. When
|
|
used in conjunction with ``--update`` option, this option will cause redundant
|
|
accelerator tables to be removed.
|
|
|
|
.. option:: --no-odr
|
|
|
|
Do not use ODR (One Definition Rule) for uniquing C++ types.
|
|
|
|
.. option:: --no-output
|
|
|
|
Do the link in memory, but do not emit the result file.
|
|
|
|
.. option:: --no-swiftmodule-timestamp
|
|
|
|
Don't check the timestamp for swiftmodule files.
|
|
|
|
.. option:: --num-threads <threads>, -j <threads>
|
|
|
|
Specifies the maximum number (``n``) of simultaneous threads to use when
|
|
linking multiple architectures.
|
|
|
|
.. option:: --object-prefix-map <prefix=remapped>
|
|
|
|
Remap object file paths (but no source paths) before processing. Use
|
|
this for Clang objects where the module cache location was remapped using
|
|
``-fdebug-prefix-map``; to help dsymutil find the Clang module cache.
|
|
|
|
.. option:: --oso-prepend-path <path>
|
|
|
|
Specifies a ``path`` to prepend to all debug symbol object file paths.
|
|
|
|
.. option:: --out <filename>, -o <filename>
|
|
|
|
Specifies an alternate ``path`` to place the dSYM bundle. The default dSYM
|
|
bundle path is created by appending ``.dSYM`` to the executable name.
|
|
|
|
.. option:: --papertrail
|
|
|
|
When running dsymutil as part of your build system, it can be desirable for
|
|
warnings to be part of the end product, rather than just being emitted to the
|
|
output stream. When enabled warnings are embedded in the linked DWARF debug
|
|
information.
|
|
|
|
.. option:: --remarks-output-format <format>
|
|
|
|
Specify the format to be used when serializing the linked remarks.
|
|
|
|
.. option:: --remarks-prepend-path <path>
|
|
|
|
Specify a directory to prepend the paths of the external remark files.
|
|
|
|
.. option:: --statistics
|
|
|
|
Print statistics about the contribution of each object file to the linked
|
|
debug info. This prints a table after linking with the object file name, the
|
|
size of the debug info in the object file (in bytes) and the size contributed
|
|
(in bytes) to the linked dSYM. The table is sorted by the output size listing
|
|
the object files with the largest contribution first.
|
|
|
|
.. option:: --symbol-map <bcsymbolmap>
|
|
|
|
Update the existing dSYMs inplace using symbol map specified.
|
|
|
|
.. option:: -s, --symtab
|
|
|
|
Dumps the symbol table found in *executable* or object file(s) and exits.
|
|
|
|
.. option:: -S
|
|
|
|
Output textual assembly instead of a binary dSYM companion file.
|
|
|
|
.. option:: --toolchain <toolchain>
|
|
|
|
Embed the toolchain in the dSYM bundle's property list.
|
|
|
|
.. option:: -u, --update
|
|
|
|
Update an existing dSYM file to contain the latest accelerator tables and
|
|
other DWARF optimizations. This option will rebuild the '.apple_names' and
|
|
'.apple_types' hashed accelerator tables.
|
|
|
|
.. option:: --use-reproducer <path>
|
|
|
|
Use the object files from the given reproducer path.
|
|
|
|
.. option:: --verbose
|
|
|
|
Display verbose information when linking.
|
|
|
|
.. option:: --verify
|
|
|
|
Run the DWARF verifier on the linked DWARF debug info.
|
|
|
|
.. option:: -v, --version
|
|
|
|
Display the version of the tool.
|
|
|
|
.. option:: -y
|
|
|
|
Treat *executable* as a YAML debug-map rather than an executable.
|
|
|
|
EXIT STATUS
|
|
-----------
|
|
|
|
:program:`dsymutil` returns 0 if the DWARF debug information was linked
|
|
successfully. Otherwise, it returns 1.
|
|
|
|
SEE ALSO
|
|
--------
|
|
|
|
:manpage:`llvm-dwarfdump(1)`
|