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