168 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			5.0 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:: --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 obj ect 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)`
 |