1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
include "llvm/Option/OptParser.td"
class F<string name>: Flag<["--", "-"], name>;
def grp_general : OptionGroup<"Dsymutil">, HelpText<"Dsymutil Options">;
def help: F<"help">,
HelpText<"Prints this help output.">,
Group<grp_general>;
def: Flag<["-"], "h">,
Alias<help>,
HelpText<"Alias for --help">,
Group<grp_general>;
def version: F<"version">,
HelpText<"Prints the dsymutil version.">,
Group<grp_general>;
def: Flag<["-"], "v">,
Alias<version>,
HelpText<"Alias for --version">,
Group<grp_general>;
def verbose: F<"verbose">,
HelpText<"Enable verbose mode.">,
Group<grp_general>;
def statistics: F<"statistics">,
HelpText<"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.">,
Group<grp_general>;
def verify: F<"verify">,
HelpText<"Run the DWARF verifier on the linked DWARF debug info.">,
Group<grp_general>;
def no_output: F<"no-output">,
HelpText<"Do the link in memory, but do not emit the result file.">,
Group<grp_general>;
def no_swiftmodule_timestamp: F<"no-swiftmodule-timestamp">,
HelpText<"Don't check timestamp for swiftmodule files.">,
Group<grp_general>;
def no_odr: F<"no-odr">,
HelpText<"Do not use ODR (One Definition Rule) for type uniquing.">,
Group<grp_general>;
def dump_debug_map: F<"dump-debug-map">,
HelpText<"Parse and dump the debug map to standard output. Not DWARF link will take place.">,
Group<grp_general>;
def yaml_input: Flag<["-", "--"], "y">,
HelpText<"Treat the input file is a YAML debug map rather than a binary.">,
Group<grp_general>;
def papertrail: F<"papertrail">,
HelpText<"Embed warnings in the linked DWARF debug info.">,
Group<grp_general>;
def assembly: Flag<["-", "--"], "S">,
HelpText<"Output textual assembly instead of a binary dSYM companion file.">,
Group<grp_general>;
def symtab: F<"symtab">,
HelpText<"Dumps the symbol table found in executable or object file(s) and exits.">,
Group<grp_general>;
def: Flag<["-"], "s">,
Alias<symtab>,
HelpText<"Alias for --symtab">,
Group<grp_general>;
def flat: F<"flat">,
HelpText<"Produce a flat dSYM file (not a bundle).">,
Group<grp_general>;
def: Flag<["-"], "f">,
Alias<flat>,
HelpText<"Alias for --flat">,
Group<grp_general>;
def minimize: F<"minimize">,
HelpText<"When used when creating a dSYM file with Apple accelerator tables, "
"this option will suppress the emission of the .debug_inlines, "
".debug_pubnames, and .debug_pubtypes sections since dsymutil "
"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.">,
Group<grp_general>;
def: Flag<["-"], "z">,
Alias<minimize>,
HelpText<"Alias for --minimize">,
Group<grp_general>;
def update: F<"update">,
HelpText<"Updates existing dSYM files to contain the latest accelerator tables and other DWARF optimizations.">,
Group<grp_general>;
def: Flag<["-"], "u">,
Alias<update>,
HelpText<"Alias for --update">,
Group<grp_general>;
def output: Separate<["-", "--"], "o">,
MetaVarName<"<filename>">,
HelpText<"Specify the output file. Defaults to <input file>.dwarf">,
Group<grp_general>;
def: Separate<["--", "-"], "out">,
MetaVarName<"<filename>">,
Alias<output>,
HelpText<"Alias for -o">,
Group<grp_general>;
def: Joined<["--", "-"], "out=">, Alias<output>;
def: Joined<["-", "--"], "o=">, Alias<output>;
def oso_prepend_path: Separate<["--", "-"], "oso-prepend-path">,
MetaVarName<"<path>">,
HelpText<"Specify a directory to prepend to the paths of object files.">,
Group<grp_general>;
def: Joined<["--", "-"], "oso-prepend-path=">, Alias<oso_prepend_path>;
def object_prefix_map: Separate<["--", "-"], "object-prefix-map">,
MetaVarName<"<prefix=remapped>">,
HelpText<"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.">,
Group<grp_general>;
def: Joined<["--", "-"], "object-prefix-map=">, Alias<object_prefix_map>;
def symbolmap: Separate<["--", "-"], "symbol-map">,
MetaVarName<"<bcsymbolmap>">,
HelpText<"Updates the existing dSYMs inplace using symbol map specified.">,
Group<grp_general>;
def: Joined<["--", "-"], "symbol-map=">, Alias<symbolmap>;
def arch: Separate<["--", "-"], "arch">,
MetaVarName<"<arch>">,
HelpText<"Link DWARF debug information only for specified CPU architecture"
"types. This option can be specified multiple times, once for each"
"desired architecture. All CPU architectures will be linked by"
"default.">,
Group<grp_general>;
def: Joined<["--", "-"], "arch=">, Alias<arch>;
def accelerator: Separate<["--", "-"], "accelerator">,
MetaVarName<"<accelerator type>">,
HelpText<"Specify the desired type of accelerator table. Valid options are 'Apple', 'Dwarf' and 'Default'">,
Group<grp_general>;
def: Joined<["--", "-"], "accelerator=">, Alias<accelerator>;
def toolchain: Separate<["--", "-"], "toolchain">,
MetaVarName<"<toolchain>">,
HelpText<"Embed toolchain information in dSYM bundle.">,
Group<grp_general>;
def threads: Separate<["--", "-"], "num-threads">,
MetaVarName<"<threads>">,
HelpText<"Specifies the maximum number of simultaneous threads to use when linking multiple architectures.">,
Group<grp_general>;
def: Separate<["-"], "j">,
MetaVarName<"<threads>">,
HelpText<"Alias for --num-threads">,
Group<grp_general>;
def gen_reproducer: F<"gen-reproducer">,
HelpText<"Generate a reproducer consisting of the input object files.">,
Group<grp_general>;
def use_reproducer: Separate<["--", "-"], "use-reproducer">,
MetaVarName<"<path>">,
HelpText<"Use the object files from the given reproducer path.">,
Group<grp_general>;
def: Joined<["--", "-"], "use-reproducer=">, Alias<use_reproducer>;
def remarks_prepend_path: Separate<["--", "-"], "remarks-prepend-path">,
MetaVarName<"<path>">,
HelpText<"Specify a directory to prepend to the paths of the external remark files.">,
Group<grp_general>;
def: Joined<["--", "-"], "remarks-prepend-path=">, Alias<remarks_prepend_path>;
def remarks_output_format: Separate<["--", "-"], "remarks-output-format">,
MetaVarName<"<format>">,
HelpText<"Specify the format to be used when serializing the linked remarks.">,
Group<grp_general>;
def: Joined<["--", "-"], "remarks-output-format=">, Alias<remarks_output_format>;
|