1include "llvm/Option/OptParser.td" 2 3def grp_generic : OptionGroup<"kind">, HelpText<"Generic Options">; 4 5def help : Flag<["--"], "help">, 6 HelpText<"Display available options (--help-hidden for more)">, 7 Group<grp_generic>; 8 9def help_hidden : Flag<["--"], "help-hidden">, 10 Flags<[HelpHidden]>, 11 HelpText<"Display all available options">, 12 Group<grp_generic>; 13 14def version : Flag<["--"], "version">, 15 HelpText<"Display the version of this program">, 16 Group<grp_generic>; 17def : Flag<["-"], "v">, Alias<version>, HelpText<"Alias for --version">, 18 Group<grp_generic>; 19 20 21 22def grp_objdump : OptionGroup<"objdump">, HelpText<"llvm-objdump Options">; 23 24def adjust_vma_EQ : Joined<["--"], "adjust-vma=">, 25 MetaVarName<"offset">, 26 HelpText<"Increase the displayed address by the specified offset">, 27 Group<grp_objdump>; 28 29def all_headers : Flag<["--"], "all-headers">, 30 HelpText<"Display all available header information">, 31 Group<grp_objdump>; 32def : Flag<["-"], "x">, Alias<all_headers>, HelpText<"Alias for --all-headers">, 33 Group<grp_objdump>; 34 35def arch_name_EQ : Joined<["--"], "arch-name=">, 36 HelpText<"Target arch to disassemble for, " 37 "see --version for available targets">, 38 Group<grp_objdump>; 39 40def archive_headers : Flag<["--"], "archive-headers">, 41 HelpText<"Display archive header information">, 42 Group<grp_objdump>; 43def : Flag<["-"], "a">, Alias<all_headers>, 44 HelpText<"Alias for --archive-headers">, 45 Group<grp_objdump>; 46 47def demangle : Flag<["--"], "demangle">, HelpText<"Demangle symbol names">, 48 Group<grp_objdump>; 49def : Flag<["-"], "C">, Alias<demangle>, HelpText<"Alias for --demangle">, 50 Group<grp_objdump>; 51 52def disassemble : Flag<["--"], "disassemble">, 53 HelpText<"Display assembler mnemonics for the machine instructions">, 54 Group<grp_objdump>; 55def : Flag<["-"], "d">, Alias<disassemble>, HelpText<"Alias for --disassemble">, 56 Group<grp_objdump>; 57 58def disassemble_all : Flag<["--"], "disassemble-all">, 59 HelpText<"Display assembler mnemonics for the machine instructions">, 60 Group<grp_objdump>; 61def : Flag<["-"], "D">, Alias<disassemble_all>, 62 HelpText<"Alias for --disassemble-all">, 63 Group<grp_objdump>; 64 65def symbol_description : Flag<["--"], "symbol-description">, 66 HelpText<"Add symbol description for disassembly. This " 67 "option is for XCOFF files only.">, 68 Group<grp_objdump>; 69 70def disassemble_symbols_EQ : Joined<["--"], "disassemble-symbols=">, 71 HelpText<"List of symbols to disassemble. " 72 "Accept demangled names when --demangle is " 73 "specified, otherwise accept mangled names">, 74 Group<grp_objdump>; 75 76def disassemble_zeroes : Flag<["--"], "disassemble-zeroes">, 77 HelpText<"Do not skip blocks of zeroes when disassembling">, 78 Group<grp_objdump>; 79def : Flag<["-"], "z">, Alias<disassemble_zeroes>, 80 HelpText<"Alias for --disassemble-zeroes">, 81 Group<grp_objdump>; 82 83def disassembler_options_EQ : Joined<["--"], "disassembler-options=">, 84 MetaVarName<"options">, 85 HelpText<"Pass target specific disassembler options">, 86 Group<grp_objdump>; 87def : JoinedOrSeparate<["-"], "M">, Alias<disassembler_options_EQ>, 88 HelpText<"Alias for --disassembler-options=">, 89 Group<grp_objdump>; 90 91def dynamic_reloc : Flag<["--"], "dynamic-reloc">, 92 HelpText<"Display the dynamic relocation entries in the file">, 93 Group<grp_objdump>; 94def : Flag<["-"], "R">, Alias<dynamic_reloc>, 95 HelpText<"Alias for --dynamic-reloc">, 96 Group<grp_objdump>; 97 98def dwarf_EQ : Joined<["--"], "dwarf=">, 99 HelpText<"Dump of dwarf debug sections">, Values<"frames">, 100 Group<grp_objdump>; 101 102def fault_map_section : Flag<["--"], "fault-map-section">, 103 HelpText<"Display contents of faultmap section">, 104 Group<grp_objdump>; 105 106def file_headers : Flag<["--"], "file-headers">, 107 HelpText<"Display the contents of the overall file header">, 108 Group<grp_objdump>; 109def : Flag<["-"], "f">, Alias<file_headers>, 110 HelpText<"Alias for --file-headers">, 111 Group<grp_objdump>; 112 113def full_contents : Flag<["--"], "full-contents">, 114 HelpText<"Display the content of each section">, 115 Group<grp_objdump>; 116def : Flag<["-"], "s">, Alias<full_contents>, 117 HelpText<"Alias for --full-contents">, 118 Group<grp_objdump>; 119 120def line_numbers : Flag<["--"], "line-numbers">, 121 HelpText<"Display source line numbers with " 122 "disassembly. Implies disassemble object">, 123 Group<grp_objdump>; 124def : Flag<["-"], "l">, Alias<line_numbers>, 125 HelpText<"Alias for --line-numbers">, 126 Group<grp_objdump>; 127 128def macho : Flag<["--"], "macho">, 129 HelpText<"Use MachO specific object file parser">, 130 Group<grp_objdump>; 131def : Flag<["-"], "m">, Alias<macho>, HelpText<"Alias for --macho">, 132 Group<grp_objdump>; 133 134def mcpu_EQ : Joined<["--"], "mcpu=">, 135 MetaVarName<"cpu-name">, 136 HelpText<"Target a specific cpu type (--mcpu=help for details)">, 137 Group<grp_objdump>; 138 139def mattr_EQ : Joined<["--"], "mattr=">, 140 MetaVarName<"a1,+a2,-a3,...">, 141 HelpText<"Target specific attributes (--mattr=help for details)">, 142 Group<grp_objdump>; 143 144def no_show_raw_insn : Flag<["--"], "no-show-raw-insn">, 145 HelpText<"When disassembling instructions, " 146 "do not print the instruction bytes.">, 147 Group<grp_objdump>; 148 149def no_leading_addr : Flag<["--"], "no-leading-addr">, 150 HelpText<"Print no leading address">, 151 Group<grp_objdump>; 152 153def raw_clang_ast : Flag<["--"], "raw-clang-ast">, 154 HelpText<"Dump the raw binary contents of the clang AST section">, 155 Group<grp_objdump>; 156 157def reloc : Flag<["--"], "reloc">, 158 HelpText<"Display the relocation entries in the file">, 159 Group<grp_objdump>; 160def : Flag<["-"], "r">, Alias<reloc>, HelpText<"Alias for --reloc">, 161 Group<grp_objdump>; 162 163def print_imm_hex : Flag<["--"], "print-imm-hex">, 164 HelpText<"Use hex format for immediate values">, 165 Group<grp_objdump>; 166 167def no_print_imm_hex : Flag<["--"], "no-print-imm-hex">, 168 HelpText<"Do not use hex format for immediate values (default)">, 169 Group<grp_objdump>; 170def : Flag<["--"], "print-imm-hex=false">, Alias<no_print_imm_hex>, 171 Group<grp_objdump>; 172 173def private_headers : Flag<["--"], "private-headers">, 174 HelpText<"Display format specific file headers">, 175 Group<grp_objdump>; 176def : Flag<["-"], "p">, Alias<private_headers>, 177 HelpText<"Alias for --private-headers">, 178 Group<grp_objdump>; 179 180def section_EQ : Joined<["--"], "section=">, 181 HelpText<"Operate on the specified sections only. " 182 "With --macho dump segment,section">, 183 Group<grp_objdump>; 184def : Separate<["--"], "section">, Alias<section_EQ>, 185 Group<grp_objdump>; 186def : JoinedOrSeparate<["-"], "j">, Alias<section_EQ>, 187 HelpText<"Alias for --section">, 188 Group<grp_objdump>; 189 190def section_headers : Flag<["--"], "section-headers">, 191 HelpText<"Display summaries of the headers for each section.">, 192 Group<grp_objdump>; 193def : Flag<["--"], "headers">, Alias<section_headers>, 194 HelpText<"Alias for --section-headers">, 195 Group<grp_objdump>; 196def : Flag<["-"], "h">, Alias<section_headers>, 197 HelpText<"Alias for --section-headers">, 198 Group<grp_objdump>; 199 200def show_lma : Flag<["--"], "show-lma">, 201 HelpText<"Display LMA column when dumping ELF section headers">, 202 Group<grp_objdump>; 203 204def source : Flag<["--"], "source">, 205 HelpText<"Display source inlined with disassembly. Implies disassemble object">, 206 Group<grp_objdump>; 207def : Flag<["-"], "S">, Alias<source>, HelpText<"Alias for --source">, 208 Group<grp_objdump>; 209 210def start_address_EQ : Joined<["--"], "start-address=">, 211 MetaVarName<"address">, 212 HelpText<"Disassemble beginning at address">, 213 Group<grp_objdump>; 214def stop_address_EQ : Joined<["--"], "stop-address=">, 215 MetaVarName<"address">, 216 HelpText<"Stop disassembly at address">, 217 Group<grp_objdump>; 218 219def syms : Flag<["--"], "syms">, 220 HelpText<"Display the symbol table">, 221 Group<grp_objdump>; 222def : Flag<["-"], "t">, Alias<syms>, HelpText<"Alias for --syms">, 223 Group<grp_objdump>; 224 225def symbolize_operands : Flag<["--"], "symbolize-operands">, 226 HelpText<"Symbolize instruction operands when disassembling">, 227 Group<grp_objdump>; 228 229def dynamic_syms : Flag<["--"], "dynamic-syms">, 230 HelpText<"Display the contents of the dynamic symbol table">, 231 Group<grp_objdump>; 232def : Flag<["-"], "T">, Alias<dynamic_syms>, 233 HelpText<"Alias for --dynamic-syms">, 234 Group<grp_objdump>; 235 236def triple_EQ : Joined<["--"], "triple=">, 237 HelpText<"Target triple to disassemble for, " 238 "see --version for available targets">, 239 Group<grp_objdump>; 240def : Separate<["--"], "triple">, 241 Alias<triple_EQ>, 242 Group<grp_objdump>; 243 244def unwind_info : Flag<["--"], "unwind-info">, 245 HelpText<"Display unwind information">, 246 Group<grp_objdump>; 247def : Flag<["-"], "u">, Alias<unwind_info>, 248 HelpText<"Alias for --unwind-info">, 249 Group<grp_objdump>; 250 251def wide : Flag<["--"], "wide">, 252 HelpText<"Ignored for compatibility with GNU objdump">, 253 Group<grp_objdump>; 254def : Flag<["-"], "w">, Alias<wide>, 255 Group<grp_objdump>; 256 257def prefix : Separate<["--"], "prefix">, 258 HelpText<"Add prefix to absolute paths">, 259 Group<grp_objdump>; 260 261def prefix_strip : Separate<["--"], "prefix-strip">, 262 HelpText<"Strip out initial directories from absolute " 263 "paths. No effect without --prefix">, 264 Group<grp_objdump>; 265 266def debug_vars_EQ : Joined<["--"], "debug-vars=">, 267 Values<"unicode,ascii">, 268 Group<grp_objdump>; 269def : Flag<["--"], "debug-vars">, 270 HelpText<"Print the locations (in registers or memory) of " 271 "source-level variables alongside disassembly">, 272 Alias<debug_vars_EQ>, AliasArgs<["unicode"]>, 273 Group<grp_objdump>; 274 275def debug_vars_indent_EQ : Joined<["--"], "debug-vars-indent=">, 276 HelpText<"Distance to indent the source-level variable display, " 277 "relative to the start of the disassembly">, 278 Group<grp_objdump>; 279 280def x86_asm_syntax_att : Flag<["--"], "x86-asm-syntax=att">, 281 HelpText<"Emit AT&T-style disassembly">, 282 Group<grp_objdump>; 283 284def x86_asm_syntax_intel : Flag<["--"], "x86-asm-syntax=intel">, 285 HelpText<"Emit Intel-style disassembly">, 286 Group<grp_objdump>; 287 288def mhvx : Flag<["--"], "mhvx">, HelpText<"Enable Hexagon Vector eXtensions">, 289 Group<grp_objdump>; 290 291def mhvx_v66 : Flag<["--"], "mhvx=v66">, 292 Group<grp_objdump>; 293 294def mv60 : Flag<["--"], "mv60">, HelpText<"Build for Hexagon V60">, 295 Group<grp_objdump>; 296 297def mv65 : Flag<["--"], "mv65">, HelpText<"Build for Hexagon V65">, 298 Group<grp_objdump>; 299 300def mv66 : Flag<["--"], "mv66">, HelpText<"Build for Hexagon V66">, 301 Group<grp_objdump>; 302 303def mv67 : Flag<["--"], "mv67">, HelpText<"Build for Hexagon V67">, 304 Group<grp_objdump>; 305 306def mv67t : Flag<["--"], "mv67t">, HelpText<"Build for Hexagon V67T">, 307 Group<grp_objdump>; 308 309def riscv_no_aliases : Flag<["--"], "riscv-no-aliases">, 310 HelpText<"Disable the emission of assembler pseudo instructions">, 311 Group<grp_objdump>; 312 313 314def grp_mach_o : OptionGroup<"kind">, HelpText<"llvm-objdump MachO Specific Options">; 315 316def private_header : Flag<["--"], "private-header">, 317 HelpText<"Display only the first format specific file header">, 318 Group<grp_mach_o>; 319 320def exports_trie : Flag<["--"], "exports-trie">, 321 HelpText<"Display mach-o exported symbols">, 322 Group<grp_mach_o>; 323 324def rebase : Flag<["--"], "rebase">, 325 HelpText<"Display mach-o rebasing info">, 326 Group<grp_mach_o>; 327 328def bind : Flag<["--"], "bind">, 329 HelpText<"Display mach-o binding info">, 330 Group<grp_mach_o>; 331 332def lazy_bind : Flag<["--"], "lazy-bind">, 333 HelpText<"Display mach-o lazy binding info">, 334 Group<grp_mach_o>; 335 336def weak_bind : Flag<["--"], "weak-bind">, 337 HelpText<"Display mach-o weak binding info">, 338 Group<grp_mach_o>; 339 340def g : Flag<["-"], "g">, 341 HelpText<"Print line information from debug info if available">, 342 Group<grp_mach_o>; 343 344def dsym_EQ : Joined<["--"], "dsym=">, 345 HelpText<"Use .dSYM file for debug info">, 346 Group<grp_mach_o>; 347def : Separate<["--"], "dsym">, 348 Alias<dsym_EQ>, 349 Group<grp_mach_o>; 350 351def full_leading_addr : Flag<["--"], "full-leading-addr">, 352 HelpText<"Print full leading address">, 353 Group<grp_mach_o>; 354 355def no_leading_headers : Flag<["--"], "no-leading-headers">, 356 HelpText<"Print no leading headers">, 357 Group<grp_mach_o>; 358 359def universal_headers : Flag<["--"], "universal-headers">, 360 HelpText<"Print Mach-O universal headers (requires --macho)">, 361 Group<grp_mach_o>; 362 363def archive_member_offsets : Flag<["--"], "archive-member-offsets">, 364 HelpText<"Print the offset to each archive member for Mach-O archives " 365 "(requires --macho and --archive-headers)">, 366 Group<grp_mach_o>; 367 368def indirect_symbols : Flag<["--"], "indirect-symbols">, 369 HelpText<"Print indirect symbol table for Mach-O objects (requires --macho)">, 370 Group<grp_mach_o>; 371 372def data_in_code : Flag<["--"], "data-in-code">, 373 HelpText<"Print the data in code table for Mach-O objects (requires --macho)">, 374 Group<grp_mach_o>; 375 376def function_starts : Flag<["--"], "function-starts">, 377 HelpText<"Print the function starts table for " 378 "Mach-O objects (requires --macho)">, 379 Group<grp_mach_o>; 380 381def link_opt_hints : Flag<["--"], "link-opt-hints">, 382 HelpText<"Print the linker optimization hints for " 383 "Mach-O objects (requires --macho)">, 384 Group<grp_mach_o>; 385 386def info_plist : Flag<["--"], "info-plist">, 387 HelpText<"Print the info plist section as strings for " 388 "Mach-O objects (requires --macho)">, 389 Group<grp_mach_o>; 390 391def dylibs_used : Flag<["--"], "dylibs-used">, 392 HelpText<"Print the shared libraries used for linked " 393 "Mach-O files (requires --macho)">, 394 Group<grp_mach_o>; 395 396def dylib_id : Flag<["--"], "dylib-id">, 397 HelpText<"Print the shared library's id for the " 398 "dylib Mach-O file (requires --macho)">, 399 Group<grp_mach_o>; 400 401def rpaths : Flag<["--"], "rpaths">, 402 HelpText<"Print the runtime search paths for the " 403 "Mach-O file (requires --macho)">, 404 Group<grp_mach_o>; 405 406def non_verbose : Flag<["--"], "non-verbose">, 407 HelpText<"Print the info for Mach-O objects in non-verbose or " 408 "numeric form (requires --macho)">, 409 Group<grp_mach_o>; 410 411def objc_meta_data : Flag<["--"], "objc-meta-data">, 412 HelpText<"Print the Objective-C runtime meta data " 413 "for Mach-O files (requires --macho)">, 414 Group<grp_mach_o>; 415 416def dis_symname : Separate<["--"], "dis-symname">, 417 HelpText<"disassemble just this symbol's instructions (requires --macho)">, 418 Group<grp_mach_o>; 419 420def no_symbolic_operands : Flag<["--"], "no-symbolic-operands">, 421 HelpText<"do not symbolic operands when disassembling (requires --macho)">, 422 Group<grp_mach_o>; 423 424def arch_EQ : Joined<["--"], "arch=">, 425 HelpText<"architecture(s) from a Mach-O file to dump">, 426 Group<grp_mach_o>; 427def : Separate<["--"], "arch">, 428 Alias<arch_EQ>, 429 Group<grp_mach_o>; 430