1DSYMUTIL(1)                          LLVM                          DSYMUTIL(1)
2
3
4

NAME

6       dsymutil - manipulate archived DWARF debug symbol files
7

SYNOPSIS

9       dsymutil [options] executable
10
11

DESCRIPTION

13       dsymutil  links  the  DWARF debug information found in the object files
14       for an executable executable by using debug  symbols  information  con‐
15       tained in its symbol table. By default, the linked debug information is
16       placed in a .dSYM bundle with the same name as the executable.
17

OPTIONS

19       --accelerator=<accelerator type>
20              Specify the desired type of accelerator table. Valid options are
21              'Apple', 'Dwarf' and 'Default'.
22
23       --arch <arch>
24              Link DWARF debug information only for specified CPU architecture
25              types.  Architectures may be specified by name. When using  this
26              option,  an  error will be returned if any architectures can not
27              be properly linked.   This  option  can  be  specified  multiple
28              times, once for each desired architecture. All CPU architectures
29              will be linked by default and any architectures  that  can't  be
30              properly linked will cause dsymutil to return an error.
31
32       --dump-debug-map
33              Dump  the  executable's  debug-map (the list of the object files
34              containing the debug information) in YAML format  and  exit.  No
35              DWARF link will take place.
36
37       --flat, -f
38              Produce a flat dSYM file. A .dwarf extension will be appended to
39              the executable name unless the output file  is  specified  using
40              the -o option.
41
42       --gen-reproducer
43              Generate a reproducer consisting of the input object files.
44
45       --help, -h
46              Print this help output.
47
48       --keep-function-for-static
49              Make  a  static  variable keep the enclosing function even if it
50              would have been omitted otherwise.
51
52       --minimize, -z
53              When used when creating a dSYM file, this option  will  suppress
54              the  emission  of  the .debug_inlines, .debug_pubnames, and .de‐
55              bug_pubtypes sections since dsymutil currently has better equiv‐
56              alents:  .apple_names and .apple_types. When used in conjunction
57              with --update option, this option will cause redundant accelera‐
58              tor tables to be removed.
59
60       --no-odr
61              Do not use ODR (One Definition Rule) for uniquing C++ types.
62
63       --no-output
64              Do the link in memory, but do not emit the result file.
65
66       --no-swiftmodule-timestamp
67              Don't check the timestamp for swiftmodule files.
68
69       --num-threads <threads>, -j <threads>
70              Specifies  the maximum number (n) of simultaneous threads to use
71              when linking multiple architectures.
72
73       --object-prefix-map <prefix=remapped>
74              Remap object file paths (but no source paths) before processing.
75              Use  this  for Clang objects where the module cache location was
76              remapped using -fdebug-prefix-map; to  help  dsymutil  find  the
77              Clang module cache.
78
79       --oso-prepend-path <path>
80              Specifies  a  path  to  prepend  to all debug symbol object file
81              paths.
82
83       --out <filename>, -o <filename>
84              Specifies an alternate path to place the dSYM  bundle.  The  de‐
85              fault dSYM bundle path is created by appending .dSYM to the exe‐
86              cutable name.
87
88       --papertrail
89              When running dsymutil as part of your build system,  it  can  be
90              desirable  for  warnings  to  be part of the end product, rather
91              than just being emitted to the output stream. When enabled warn‐
92              ings are embedded in the linked DWARF debug information.
93
94       --remarks-output-format <format>
95              Specify  the  format  to be used when serializing the linked re‐
96              marks.
97
98       --remarks-prepend-path <path>
99              Specify a directory to prepend the paths of the external  remark
100              files.
101
102       --statistics
103              Print  statistics  about the contribution of each object file to
104              the linked debug info. This prints a table  after  linking  with
105              the  object  file name, the size of the debug info in the object
106              file (in bytes) and the  size  contributed  (in  bytes)  to  the
107              linked  dSYM. The table is sorted by the output size listing the
108              object files with the largest contribution first.
109
110       --symbol-map <bcsymbolmap>
111              Update the existing dSYMs inplace using symbol map specified.
112
113       -s, --symtab
114              Dumps the symbol table found in executable or object file(s) and
115              exits.
116
117       -S     Output textual assembly instead of a binary dSYM companion file.
118
119       --toolchain <toolchain>
120              Embed the toolchain in the dSYM bundle's property list.
121
122       -u, --update
123              Update  an  existing dSYM file to contain the latest accelerator
124              tables and other DWARF optimizations. This option  will  rebuild
125              the '.apple_names' and '.apple_types' hashed accelerator tables.
126
127       --use-reproducer <path>
128              Use the object files from the given reproducer path.
129
130       --verbose
131              Display verbose information when linking.
132
133       --verify
134              Run the DWARF verifier on the linked DWARF debug info.
135
136       -v, --version
137              Display the version of the tool.
138
139       -y     Treat executable as a YAML debug-map rather than an executable.
140

EXIT STATUS

142       dsymutil  returns  0 if the DWARF debug information was linked success‐
143       fully. Otherwise, it returns 1.
144

SEE ALSO

146       llvm-dwarfdump(1)
147

AUTHOR

149       Maintained by the LLVM Team (https://llvm.org/).
150
152       2003-2022, LLVM Project
153
154
155
156
15714                                2022-03-23                       DSYMUTIL(1)
Impressum