xref: /freebsd-src/contrib/llvm-project/llvm/tools/llvm-objdump/ObjdumpOpts.td (revision 06c3fb2749bda94cb5201f81ffdb8fa6c3161b2e)
1fe6060f1SDimitry Andricinclude "llvm/Option/OptParser.td"
2fe6060f1SDimitry Andric
3bdd1243dSDimitry Andricmulticlass B<string name, string help1, string help2> {
4bdd1243dSDimitry Andric  def NAME: Flag<["--"], name>, HelpText<help1>;
5bdd1243dSDimitry Andric  def no_ # NAME: Flag<["--"], "no-" # name>, HelpText<help2>;
6bdd1243dSDimitry Andric}
7bdd1243dSDimitry Andric
8349cc55cSDimitry Andricmulticlass Eq<string name, string help> {
9349cc55cSDimitry Andric  def NAME : Separate<["--"], name>;
10349cc55cSDimitry Andric  def NAME #_eq : Joined<["--"], name #"=">,
11349cc55cSDimitry Andric                  Alias<!cast<Separate>(NAME)>,
12349cc55cSDimitry Andric                  HelpText<help>;
13349cc55cSDimitry Andric}
14349cc55cSDimitry Andric
15fe6060f1SDimitry Andricdef help : Flag<["--"], "help">,
16fe6060f1SDimitry Andric  HelpText<"Display available options (--help-hidden for more)">;
17fe6060f1SDimitry Andric
18fe6060f1SDimitry Andricdef help_hidden : Flag<["--"], "help-hidden">,
19fe6060f1SDimitry Andric  Flags<[HelpHidden]>,
20fe6060f1SDimitry Andric  HelpText<"Display all available options">;
21fe6060f1SDimitry Andric
22fe6060f1SDimitry Andricdef version : Flag<["--"], "version">,
23fe6060f1SDimitry Andric  HelpText<"Display the version of this program">;
24fe6060f1SDimitry Andricdef : Flag<["-"], "v">, Alias<version>, HelpText<"Alias for --version">;
25fe6060f1SDimitry Andric
26fe6060f1SDimitry Andricdef adjust_vma_EQ : Joined<["--"], "adjust-vma=">,
27fe6060f1SDimitry Andric  MetaVarName<"offset">,
28fe6060f1SDimitry Andric  HelpText<"Increase the displayed address by the specified offset">;
29fe6060f1SDimitry Andric
30fe6060f1SDimitry Andricdef all_headers : Flag<["--"], "all-headers">,
31349cc55cSDimitry Andric  HelpText<"Display all available header information, "
32349cc55cSDimitry Andric           "relocation entries and the symbol table">;
33fe6060f1SDimitry Andricdef : Flag<["-"], "x">, Alias<all_headers>, HelpText<"Alias for --all-headers">;
34fe6060f1SDimitry Andric
35fe6060f1SDimitry Andricdef arch_name_EQ : Joined<["--"], "arch-name=">,
36fe6060f1SDimitry Andric  HelpText<"Target arch to disassemble for, "
37fe6060f1SDimitry Andric            "see --version for available targets">;
38fe6060f1SDimitry Andricdef archive_headers : Flag<["--"], "archive-headers">,
39fe6060f1SDimitry Andric  HelpText<"Display archive header information">;
40fe6060f1SDimitry Andric
41bdd1243dSDimitry Andricdefm build_id :
42bdd1243dSDimitry Andric  Eq<"build-id", "Build ID to look up. Once found, added as an input file">,
43bdd1243dSDimitry Andric  MetaVarName<"<hex>">;
44bdd1243dSDimitry Andric
45fe6060f1SDimitry Andricdef : Flag<["-"], "a">, Alias<archive_headers>,
46fe6060f1SDimitry Andric  HelpText<"Alias for --archive-headers">;
47fe6060f1SDimitry Andric
48fe6060f1SDimitry Andricdef demangle : Flag<["--"], "demangle">, HelpText<"Demangle symbol names">;
49fe6060f1SDimitry Andricdef : Flag<["-"], "C">, Alias<demangle>, HelpText<"Alias for --demangle">;
50fe6060f1SDimitry Andric
51bdd1243dSDimitry Andricdefm debug_file_directory :
52bdd1243dSDimitry Andric  Eq<"debug-file-directory", "Path to directory where to look for debug files">,
53bdd1243dSDimitry Andric  MetaVarName<"<dir>">;
54bdd1243dSDimitry Andric
55bdd1243dSDimitry Andricdefm debuginfod : B<"debuginfod", "Use debuginfod to find debug files", "Don't use debuginfod to find debug files">;
56bdd1243dSDimitry Andric
57fe6060f1SDimitry Andricdef disassemble : Flag<["--"], "disassemble">,
58349cc55cSDimitry Andric  HelpText<"Disassemble all executable sections found in the input files">;
59fe6060f1SDimitry Andricdef : Flag<["-"], "d">, Alias<disassemble>, HelpText<"Alias for --disassemble">;
60fe6060f1SDimitry Andric
61fe6060f1SDimitry Andricdef disassemble_all : Flag<["--"], "disassemble-all">,
62349cc55cSDimitry Andric  HelpText<"Disassemble all sections found in the input files">;
63fe6060f1SDimitry Andricdef : Flag<["-"], "D">, Alias<disassemble_all>,
64fe6060f1SDimitry Andric  HelpText<"Alias for --disassemble-all">;
65fe6060f1SDimitry Andric
66fe6060f1SDimitry Andricdef symbol_description : Flag<["--"], "symbol-description">,
67fe6060f1SDimitry Andric  HelpText<"Add symbol description for disassembly. This "
68*06c3fb27SDimitry Andric           "option is for XCOFF files only">;
69*06c3fb27SDimitry Andric
70*06c3fb27SDimitry Andricdef traceback_table : Flag<["--"], "traceback-table">,
71*06c3fb27SDimitry Andric  HelpText<"Decode traceback table in disassembly. Implies --disassemble. "
72*06c3fb27SDimitry Andric           "This option is for XCOFF files only">;
73fe6060f1SDimitry Andric
74fe6060f1SDimitry Andricdef disassemble_symbols_EQ : Joined<["--"], "disassemble-symbols=">,
75fe6060f1SDimitry Andric  HelpText<"List of symbols to disassemble. "
76fe6060f1SDimitry Andric           "Accept demangled names when --demangle is "
77fe6060f1SDimitry Andric           "specified, otherwise accept mangled names">;
78fe6060f1SDimitry Andric
79fe6060f1SDimitry Andricdef disassemble_zeroes : Flag<["--"], "disassemble-zeroes">,
80fe6060f1SDimitry Andric  HelpText<"Do not skip blocks of zeroes when disassembling">;
81fe6060f1SDimitry Andricdef : Flag<["-"], "z">, Alias<disassemble_zeroes>,
82fe6060f1SDimitry Andric  HelpText<"Alias for --disassemble-zeroes">;
83fe6060f1SDimitry Andric
84fe6060f1SDimitry Andricdef disassembler_options_EQ : Joined<["--"], "disassembler-options=">,
85fe6060f1SDimitry Andric  MetaVarName<"options">,
86fe6060f1SDimitry Andric  HelpText<"Pass target specific disassembler options">;
87fe6060f1SDimitry Andricdef : JoinedOrSeparate<["-"], "M">, Alias<disassembler_options_EQ>,
88fe6060f1SDimitry Andric  HelpText<"Alias for --disassembler-options=">;
89fe6060f1SDimitry Andric
90fe6060f1SDimitry Andricdef dynamic_reloc : Flag<["--"], "dynamic-reloc">,
91fe6060f1SDimitry Andric  HelpText<"Display the dynamic relocation entries in the file">;
92fe6060f1SDimitry Andricdef : Flag<["-"], "R">, Alias<dynamic_reloc>,
93fe6060f1SDimitry Andric  HelpText<"Alias for --dynamic-reloc">;
94fe6060f1SDimitry Andric
95fe6060f1SDimitry Andricdef dwarf_EQ : Joined<["--"], "dwarf=">,
96349cc55cSDimitry Andric  HelpText<"Dump the specified DWARF debug sections. The "
97349cc55cSDimitry Andric           "only supported value is 'frames'">,
98349cc55cSDimitry Andric  Values<"frames">;
99fe6060f1SDimitry Andric
100fe6060f1SDimitry Andricdef fault_map_section : Flag<["--"], "fault-map-section">,
101349cc55cSDimitry Andric  HelpText<"Display the content of the fault map section">;
102fe6060f1SDimitry Andric
10381ad6265SDimitry Andricdef offloading : Flag<["--"], "offloading">,
10481ad6265SDimitry Andric  HelpText<"Display the content of the offloading section">;
10581ad6265SDimitry Andric
106fe6060f1SDimitry Andricdef file_headers : Flag<["--"], "file-headers">,
107fe6060f1SDimitry Andric  HelpText<"Display the contents of the overall file header">;
108fe6060f1SDimitry Andricdef : Flag<["-"], "f">, Alias<file_headers>,
109fe6060f1SDimitry Andric  HelpText<"Alias for --file-headers">;
110fe6060f1SDimitry Andric
111fe6060f1SDimitry Andricdef full_contents : Flag<["--"], "full-contents">,
112fe6060f1SDimitry Andric  HelpText<"Display the content of each section">;
113fe6060f1SDimitry Andricdef : Flag<["-"], "s">, Alias<full_contents>,
114fe6060f1SDimitry Andric  HelpText<"Alias for --full-contents">;
115fe6060f1SDimitry Andric
116fe6060f1SDimitry Andricdef line_numbers : Flag<["--"], "line-numbers">,
117349cc55cSDimitry Andric  HelpText<"When disassembling, display source line numbers. "
118349cc55cSDimitry Andric           "Implies --disassemble">;
119349cc55cSDimitry Andricdef : Flag<["-"], "l">,
120349cc55cSDimitry Andric  Alias<line_numbers>,
121fe6060f1SDimitry Andric  HelpText<"Alias for --line-numbers">;
122fe6060f1SDimitry Andric
123fe6060f1SDimitry Andricdef macho : Flag<["--"], "macho">,
124fe6060f1SDimitry Andric  HelpText<"Use MachO specific object file parser">;
125fe6060f1SDimitry Andricdef : Flag<["-"], "m">, Alias<macho>, HelpText<"Alias for --macho">;
126fe6060f1SDimitry Andric
127fe6060f1SDimitry Andricdef mcpu_EQ : Joined<["--"], "mcpu=">,
128fe6060f1SDimitry Andric  MetaVarName<"cpu-name">,
129fe6060f1SDimitry Andric  HelpText<"Target a specific cpu type (--mcpu=help for details)">;
130fe6060f1SDimitry Andric
131fe6060f1SDimitry Andricdef mattr_EQ : Joined<["--"], "mattr=">,
132fe6060f1SDimitry Andric  MetaVarName<"a1,+a2,-a3,...">,
133fe6060f1SDimitry Andric  HelpText<"Target specific attributes (--mattr=help for details)">;
134fe6060f1SDimitry Andric
135fe6060f1SDimitry Andricdef no_show_raw_insn : Flag<["--"], "no-show-raw-insn">,
136fe6060f1SDimitry Andric  HelpText<"When disassembling instructions, "
137fe6060f1SDimitry Andric           "do not print the instruction bytes.">;
138fe6060f1SDimitry Andric
139fe6060f1SDimitry Andricdef no_leading_addr : Flag<["--"], "no-leading-addr">,
140bdd1243dSDimitry Andric  HelpText<"When disassembling, do not print leading addresses for instructions or inline relocations">;
141bdd1243dSDimitry Andricdef : Flag<["--"], "no-addresses">, Alias<no_leading_addr>,
142bdd1243dSDimitry Andric  HelpText<"Alias for --no-leading-addr">;
143fe6060f1SDimitry Andric
144fe6060f1SDimitry Andricdef raw_clang_ast : Flag<["--"], "raw-clang-ast">,
145fe6060f1SDimitry Andric  HelpText<"Dump the raw binary contents of the clang AST section">;
146fe6060f1SDimitry Andric
147fe6060f1SDimitry Andricdef reloc : Flag<["--"], "reloc">,
148fe6060f1SDimitry Andric  HelpText<"Display the relocation entries in the file">;
149fe6060f1SDimitry Andricdef : Flag<["-"], "r">, Alias<reloc>, HelpText<"Alias for --reloc">;
150fe6060f1SDimitry Andric
151fe6060f1SDimitry Andricdef print_imm_hex : Flag<["--"], "print-imm-hex">,
1521ac55f4cSDimitry Andric  HelpText<"Use hex format for immediate values (default)">;
153fe6060f1SDimitry Andric
154fe6060f1SDimitry Andricdef no_print_imm_hex : Flag<["--"], "no-print-imm-hex">,
1551ac55f4cSDimitry Andric  HelpText<"Do not use hex format for immediate values">;
156fe6060f1SDimitry Andricdef : Flag<["--"], "print-imm-hex=false">, Alias<no_print_imm_hex>;
157fe6060f1SDimitry Andric
158fe6060f1SDimitry Andricdef private_headers : Flag<["--"], "private-headers">,
159fe6060f1SDimitry Andric  HelpText<"Display format specific file headers">;
160fe6060f1SDimitry Andricdef : Flag<["-"], "p">, Alias<private_headers>,
161fe6060f1SDimitry Andric  HelpText<"Alias for --private-headers">;
162fe6060f1SDimitry Andric
163fe6060f1SDimitry Andricdef section_EQ : Joined<["--"], "section=">,
164fe6060f1SDimitry Andric  HelpText<"Operate on the specified sections only. "
165fe6060f1SDimitry Andric           "With --macho dump segment,section">;
166fe6060f1SDimitry Andricdef : Separate<["--"], "section">, Alias<section_EQ>;
167fe6060f1SDimitry Andricdef : JoinedOrSeparate<["-"], "j">, Alias<section_EQ>,
168fe6060f1SDimitry Andric  HelpText<"Alias for --section">;
169fe6060f1SDimitry Andric
170fe6060f1SDimitry Andricdef section_headers : Flag<["--"], "section-headers">,
171fe6060f1SDimitry Andric  HelpText<"Display summaries of the headers for each section.">;
172fe6060f1SDimitry Andricdef : Flag<["--"], "headers">, Alias<section_headers>,
173fe6060f1SDimitry Andric  HelpText<"Alias for --section-headers">;
174fe6060f1SDimitry Andricdef : Flag<["-"], "h">, Alias<section_headers>,
175fe6060f1SDimitry Andric  HelpText<"Alias for --section-headers">;
176fe6060f1SDimitry Andric
177bdd1243dSDimitry Andricdef show_all_symbols : Flag<["--"], "show-all-symbols">,
178bdd1243dSDimitry Andric  HelpText<"Show all symbols during disassembly, even if multiple "
179bdd1243dSDimitry Andric           "symbols are defined at the same location">;
180bdd1243dSDimitry Andric
181fe6060f1SDimitry Andricdef show_lma : Flag<["--"], "show-lma">,
182fe6060f1SDimitry Andric  HelpText<"Display LMA column when dumping ELF section headers">;
183fe6060f1SDimitry Andric
184fe6060f1SDimitry Andricdef source : Flag<["--"], "source">,
185349cc55cSDimitry Andric  HelpText<"When disassembling, display source interleaved with the "
186349cc55cSDimitry Andric           "disassembly. Implies --disassemble">;
187fe6060f1SDimitry Andricdef : Flag<["-"], "S">, Alias<source>, HelpText<"Alias for --source">;
188fe6060f1SDimitry Andric
189fe6060f1SDimitry Andricdef start_address_EQ : Joined<["--"], "start-address=">,
190fe6060f1SDimitry Andric  MetaVarName<"address">,
191349cc55cSDimitry Andric  HelpText<"Set the start address for disassembling, "
192349cc55cSDimitry Andric           "printing relocations and printing symbols">;
193fe6060f1SDimitry Andricdef stop_address_EQ : Joined<["--"], "stop-address=">,
194fe6060f1SDimitry Andric  MetaVarName<"address">,
195349cc55cSDimitry Andric  HelpText<"Set the stop address for disassembling, "
196349cc55cSDimitry Andric           "printing relocations and printing symbols">;
197fe6060f1SDimitry Andric
198fe6060f1SDimitry Andricdef syms : Flag<["--"], "syms">,
199fe6060f1SDimitry Andric  HelpText<"Display the symbol table">;
200fe6060f1SDimitry Andricdef : Flag<["-"], "t">, Alias<syms>, HelpText<"Alias for --syms">;
201fe6060f1SDimitry Andric
202fe6060f1SDimitry Andricdef symbolize_operands : Flag<["--"], "symbolize-operands">,
203fe6060f1SDimitry Andric  HelpText<"Symbolize instruction operands when disassembling">;
204fe6060f1SDimitry Andric
205fe6060f1SDimitry Andricdef dynamic_syms : Flag<["--"], "dynamic-syms">,
206fe6060f1SDimitry Andric  HelpText<"Display the contents of the dynamic symbol table">;
207fe6060f1SDimitry Andricdef : Flag<["-"], "T">, Alias<dynamic_syms>,
208fe6060f1SDimitry Andric  HelpText<"Alias for --dynamic-syms">;
209fe6060f1SDimitry Andric
210fe6060f1SDimitry Andricdef triple_EQ : Joined<["--"], "triple=">,
211fe6060f1SDimitry Andric  HelpText<"Target triple to disassemble for, "
212fe6060f1SDimitry Andric            "see --version for available targets">;
213fe6060f1SDimitry Andricdef : Separate<["--"], "triple">,
214fe6060f1SDimitry Andric  Alias<triple_EQ>;
215fe6060f1SDimitry Andric
216fe6060f1SDimitry Andricdef unwind_info : Flag<["--"], "unwind-info">,
217fe6060f1SDimitry Andric  HelpText<"Display unwind information">;
218fe6060f1SDimitry Andricdef : Flag<["-"], "u">, Alias<unwind_info>,
219fe6060f1SDimitry Andric  HelpText<"Alias for --unwind-info">;
220fe6060f1SDimitry Andric
221fe6060f1SDimitry Andricdef wide : Flag<["--"], "wide">,
222fe6060f1SDimitry Andric  HelpText<"Ignored for compatibility with GNU objdump">;
223fe6060f1SDimitry Andricdef : Flag<["-"], "w">, Alias<wide>;
224fe6060f1SDimitry Andric
225349cc55cSDimitry Andricdefm prefix : Eq<"prefix", "Add prefix to absolute paths">,
226349cc55cSDimitry Andric              MetaVarName<"prefix">;
227349cc55cSDimitry Andricdefm prefix_strip
228349cc55cSDimitry Andric    : Eq<"prefix-strip", "Strip out initial directories from absolute "
229349cc55cSDimitry Andric                         "paths. No effect without --prefix">,
230349cc55cSDimitry Andric      MetaVarName<"prefix">;
231fe6060f1SDimitry Andric
232fe6060f1SDimitry Andricdef debug_vars_EQ : Joined<["--"], "debug-vars=">,
233fe6060f1SDimitry Andric  HelpText<"Print the locations (in registers or memory) of "
234349cc55cSDimitry Andric           "source-level variables alongside disassembly. "
235349cc55cSDimitry Andric           "Supported formats: ascii, unicode (default)">,
236349cc55cSDimitry Andric  Values<"unicode,ascii">;
237349cc55cSDimitry Andricdef : Flag<["--"], "debug-vars">, Alias<debug_vars_EQ>, AliasArgs<["unicode"]>;
238fe6060f1SDimitry Andric
239fe6060f1SDimitry Andricdef debug_vars_indent_EQ : Joined<["--"], "debug-vars-indent=">,
240fe6060f1SDimitry Andric  HelpText<"Distance to indent the source-level variable display, "
241fe6060f1SDimitry Andric           "relative to the start of the disassembly">;
242fe6060f1SDimitry Andric
243fe6060f1SDimitry Andricdef x86_asm_syntax_att : Flag<["--"], "x86-asm-syntax=att">,
244fe6060f1SDimitry Andric  HelpText<"Emit AT&T-style disassembly">;
245fe6060f1SDimitry Andric
246fe6060f1SDimitry Andricdef x86_asm_syntax_intel : Flag<["--"], "x86-asm-syntax=intel">,
247fe6060f1SDimitry Andric  HelpText<"Emit Intel-style disassembly">;
248fe6060f1SDimitry Andric
249fe6060f1SDimitry Andric
250fe6060f1SDimitry Andricdef grp_mach_o : OptionGroup<"kind">, HelpText<"llvm-objdump MachO Specific Options">;
251fe6060f1SDimitry Andric
252fe6060f1SDimitry Andricdef private_header : Flag<["--"], "private-header">,
253fe6060f1SDimitry Andric  HelpText<"Display only the first format specific file header">,
254fe6060f1SDimitry Andric  Group<grp_mach_o>;
255fe6060f1SDimitry Andric
256fe6060f1SDimitry Andricdef exports_trie : Flag<["--"], "exports-trie">,
257fe6060f1SDimitry Andric  HelpText<"Display mach-o exported symbols">,
258fe6060f1SDimitry Andric  Group<grp_mach_o>;
259fe6060f1SDimitry Andric
260fe6060f1SDimitry Andricdef rebase : Flag<["--"], "rebase">,
261fe6060f1SDimitry Andric  HelpText<"Display mach-o rebasing info">,
262fe6060f1SDimitry Andric  Group<grp_mach_o>;
263fe6060f1SDimitry Andric
264fe6060f1SDimitry Andricdef bind : Flag<["--"], "bind">,
265fe6060f1SDimitry Andric  HelpText<"Display mach-o binding info">,
266fe6060f1SDimitry Andric  Group<grp_mach_o>;
267fe6060f1SDimitry Andric
268fe6060f1SDimitry Andricdef lazy_bind : Flag<["--"], "lazy-bind">,
269fe6060f1SDimitry Andric  HelpText<"Display mach-o lazy binding info">,
270fe6060f1SDimitry Andric  Group<grp_mach_o>;
271fe6060f1SDimitry Andric
272fe6060f1SDimitry Andricdef weak_bind : Flag<["--"], "weak-bind">,
273fe6060f1SDimitry Andric  HelpText<"Display mach-o weak binding info">,
274fe6060f1SDimitry Andric  Group<grp_mach_o>;
275fe6060f1SDimitry Andric
276fe6060f1SDimitry Andricdef g : Flag<["-"], "g">,
277fe6060f1SDimitry Andric  HelpText<"Print line information from debug info if available">,
278fe6060f1SDimitry Andric  Group<grp_mach_o>;
279fe6060f1SDimitry Andric
280fe6060f1SDimitry Andricdef dsym_EQ : Joined<["--"], "dsym=">,
281fe6060f1SDimitry Andric  HelpText<"Use .dSYM file for debug info">,
282fe6060f1SDimitry Andric  Group<grp_mach_o>;
283fe6060f1SDimitry Andricdef : Separate<["--"], "dsym">,
284fe6060f1SDimitry Andric  Alias<dsym_EQ>,
285fe6060f1SDimitry Andric  Group<grp_mach_o>;
286fe6060f1SDimitry Andric
287fe6060f1SDimitry Andricdef full_leading_addr : Flag<["--"], "full-leading-addr">,
288fe6060f1SDimitry Andric  HelpText<"Print full leading address">,
289fe6060f1SDimitry Andric  Group<grp_mach_o>;
290fe6060f1SDimitry Andric
291fe6060f1SDimitry Andricdef no_leading_headers : Flag<["--"], "no-leading-headers">,
292fe6060f1SDimitry Andric  HelpText<"Print no leading headers">,
293fe6060f1SDimitry Andric  Group<grp_mach_o>;
294fe6060f1SDimitry Andric
295fe6060f1SDimitry Andricdef universal_headers : Flag<["--"], "universal-headers">,
296fe6060f1SDimitry Andric  HelpText<"Print Mach-O universal headers (requires --macho)">,
297fe6060f1SDimitry Andric  Group<grp_mach_o>;
298fe6060f1SDimitry Andric
299fe6060f1SDimitry Andricdef archive_member_offsets : Flag<["--"], "archive-member-offsets">,
300fe6060f1SDimitry Andric  HelpText<"Print the offset to each archive member for Mach-O archives "
301fe6060f1SDimitry Andric           "(requires --macho and --archive-headers)">,
302fe6060f1SDimitry Andric  Group<grp_mach_o>;
303fe6060f1SDimitry Andric
304fe6060f1SDimitry Andricdef indirect_symbols : Flag<["--"], "indirect-symbols">,
305fe6060f1SDimitry Andric  HelpText<"Print indirect symbol table for Mach-O objects (requires --macho)">,
306fe6060f1SDimitry Andric  Group<grp_mach_o>;
307fe6060f1SDimitry Andric
308fe6060f1SDimitry Andricdef data_in_code : Flag<["--"], "data-in-code">,
309fe6060f1SDimitry Andric  HelpText<"Print the data in code table for Mach-O objects (requires --macho)">,
310fe6060f1SDimitry Andric  Group<grp_mach_o>;
311fe6060f1SDimitry Andric
312bdd1243dSDimitry Andricdef function_starts_EQ : Joined<["--"], "function-starts=">,
313bdd1243dSDimitry Andric  HelpText<"Print the function starts table for Mach-O objects. "
314bdd1243dSDimitry Andric           "Options: addrs (default), names, both (requires --macho)">,
315bdd1243dSDimitry Andric  Values<"addrs,names,both">,
316fe6060f1SDimitry Andric  Group<grp_mach_o>;
317fe6060f1SDimitry Andric
318bdd1243dSDimitry Andricdef : Flag<["--"], "function-starts">, Alias<function_starts_EQ>,
319bdd1243dSDimitry Andric  AliasArgs<["addrs"]>, Group<grp_mach_o>;
320bdd1243dSDimitry Andric
321fe6060f1SDimitry Andricdef link_opt_hints : Flag<["--"], "link-opt-hints">,
322fe6060f1SDimitry Andric  HelpText<"Print the linker optimization hints for "
323fe6060f1SDimitry Andric           "Mach-O objects (requires --macho)">,
324fe6060f1SDimitry Andric  Group<grp_mach_o>;
325fe6060f1SDimitry Andric
326fe6060f1SDimitry Andricdef info_plist : Flag<["--"], "info-plist">,
327fe6060f1SDimitry Andric  HelpText<"Print the info plist section as strings for "
328fe6060f1SDimitry Andric           "Mach-O objects (requires --macho)">,
329fe6060f1SDimitry Andric  Group<grp_mach_o>;
330fe6060f1SDimitry Andric
331bdd1243dSDimitry Andricdef chained_fixups : Flag<["--"], "chained-fixups">,
332bdd1243dSDimitry Andric  HelpText<"Print chained fixup information (requires --macho)">,
333bdd1243dSDimitry Andric  Group<grp_mach_o>;
334bdd1243dSDimitry Andric
335bdd1243dSDimitry Andricdef dyld_info : Flag<["--"], "dyld-info">,
33681ad6265SDimitry Andric  HelpText<"Print bind and rebase information used by dyld to resolve "
33781ad6265SDimitry Andric           "external references in a final linked binary "
33881ad6265SDimitry Andric           "(requires --macho)">,
33981ad6265SDimitry Andric  Group<grp_mach_o>;
34081ad6265SDimitry Andric
341fe6060f1SDimitry Andricdef dylibs_used : Flag<["--"], "dylibs-used">,
342fe6060f1SDimitry Andric  HelpText<"Print the shared libraries used for linked "
343fe6060f1SDimitry Andric           "Mach-O files (requires --macho)">,
344fe6060f1SDimitry Andric  Group<grp_mach_o>;
345fe6060f1SDimitry Andric
346fe6060f1SDimitry Andricdef dylib_id : Flag<["--"], "dylib-id">,
347fe6060f1SDimitry Andric  HelpText<"Print the shared library's id for the "
348fe6060f1SDimitry Andric           "dylib Mach-O file (requires --macho)">,
349fe6060f1SDimitry Andric  Group<grp_mach_o>;
350fe6060f1SDimitry Andric
351fe6060f1SDimitry Andricdef rpaths : Flag<["--"], "rpaths">,
352fe6060f1SDimitry Andric  HelpText<"Print the runtime search paths for the "
353fe6060f1SDimitry Andric           "Mach-O file (requires --macho)">,
354fe6060f1SDimitry Andric  Group<grp_mach_o>;
355fe6060f1SDimitry Andric
356fe6060f1SDimitry Andricdef non_verbose : Flag<["--"], "non-verbose">,
357fe6060f1SDimitry Andric  HelpText<"Print the info for Mach-O objects in non-verbose or "
358fe6060f1SDimitry Andric           "numeric form (requires --macho)">,
359fe6060f1SDimitry Andric  Group<grp_mach_o>;
360fe6060f1SDimitry Andric
361fe6060f1SDimitry Andricdef objc_meta_data : Flag<["--"], "objc-meta-data">,
362fe6060f1SDimitry Andric  HelpText<"Print the Objective-C runtime meta data "
363fe6060f1SDimitry Andric           "for Mach-O files (requires --macho)">,
364fe6060f1SDimitry Andric  Group<grp_mach_o>;
365fe6060f1SDimitry Andric
366fe6060f1SDimitry Andricdef dis_symname : Separate<["--"], "dis-symname">,
367fe6060f1SDimitry Andric  HelpText<"disassemble just this symbol's instructions (requires --macho)">,
368fe6060f1SDimitry Andric  Group<grp_mach_o>;
369fe6060f1SDimitry Andric
370fe6060f1SDimitry Andricdef no_symbolic_operands : Flag<["--"], "no-symbolic-operands">,
371fe6060f1SDimitry Andric  HelpText<"do not symbolic operands when disassembling (requires --macho)">,
372fe6060f1SDimitry Andric  Group<grp_mach_o>;
373fe6060f1SDimitry Andric
374fe6060f1SDimitry Andricdef arch_EQ : Joined<["--"], "arch=">,
375fe6060f1SDimitry Andric  HelpText<"architecture(s) from a Mach-O file to dump">,
376fe6060f1SDimitry Andric  Group<grp_mach_o>;
377fe6060f1SDimitry Andricdef : Separate<["--"], "arch">,
378fe6060f1SDimitry Andric  Alias<arch_EQ>,
379fe6060f1SDimitry Andric  Group<grp_mach_o>;
380