|  | 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', 'Default' and 'None'. | 
|  |  | 
|  | .. 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:: --build-variant-suffix <suffix=buildvariant> | 
|  |  | 
|  | Specify the build variant suffix used to build the executable file. | 
|  | There can be multiple variants for the binary of a product, each built | 
|  | slightly differently. The most common build variants are 'debug' and | 
|  | 'profile'. Setting the DYLD_IMAGE_SUFFIX environment variable will | 
|  | cause dyld to load the specified variant at runtime. | 
|  |  | 
|  | .. 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. No DWARF link will take place. | 
|  |  | 
|  | .. option:: -D <path> | 
|  |  | 
|  | Specify a directory that contain dSYM files to search for. | 
|  | This is used for mergeable libraries, so dsymutil knows where to look | 
|  | for dSYM files with  debug information about symbols present in those | 
|  | libraries. | 
|  |  | 
|  | .. option:: --fat64 | 
|  |  | 
|  | Use a 64-bit header when emitting universal binaries. | 
|  |  | 
|  | .. 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. Alias for | 
|  | --reproducer=GenerateOnExit. | 
|  |  | 
|  | .. 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-object-timestamp | 
|  |  | 
|  | Don't check timestamp for object files. | 
|  |  | 
|  | .. 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:: -q, --quiet | 
|  |  | 
|  | Enable quiet mode and limit output. | 
|  |  | 
|  | .. option:: --remarks-drop-without-debug | 
|  |  | 
|  | Drop remarks without valid debug locations. Without this flags, all remarks are kept. | 
|  |  | 
|  | .. 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:: --reproducer <mode> | 
|  |  | 
|  | Specify the reproducer generation mode. Valid options are 'GenerateOnExit', | 
|  | 'GenerateOnCrash', 'Use', 'Off'. | 
|  |  | 
|  | .. 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:: -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. Alias for | 
|  | --reproducer=Use. | 
|  |  | 
|  | .. 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)` |