gbreynoo a617e2064d [llvm-objdump] Remove Generic Options group from help text output
Reapply 7368624 after revert and fix

Looking at other tools using tablegen for help output, general options
like --help are not separated from other options. This change removes
the "Generic Options" option group so the options are listed together.
the macho specific option group is left unaffected.

The test help.test was modified to reflect this change.

Differential Revision: https://reviews.llvm.org/D101652
2021-05-04 17:42:20 +01:00

341 lines
12 KiB
TableGen

include "llvm/Option/OptParser.td"
def help : Flag<["--"], "help">,
HelpText<"Display available options (--help-hidden for more)">;
def help_hidden : Flag<["--"], "help-hidden">,
Flags<[HelpHidden]>,
HelpText<"Display all available options">;
def version : Flag<["--"], "version">,
HelpText<"Display the version of this program">;
def : Flag<["-"], "v">, Alias<version>, HelpText<"Alias for --version">;
def adjust_vma_EQ : Joined<["--"], "adjust-vma=">,
MetaVarName<"offset">,
HelpText<"Increase the displayed address by the specified offset">;
def all_headers : Flag<["--"], "all-headers">,
HelpText<"Display all available header information">;
def : Flag<["-"], "x">, Alias<all_headers>, HelpText<"Alias for --all-headers">;
def arch_name_EQ : Joined<["--"], "arch-name=">,
HelpText<"Target arch to disassemble for, "
"see --version for available targets">;
def archive_headers : Flag<["--"], "archive-headers">,
HelpText<"Display archive header information">;
def : Flag<["-"], "a">, Alias<all_headers>,
HelpText<"Alias for --archive-headers">;
def demangle : Flag<["--"], "demangle">, HelpText<"Demangle symbol names">;
def : Flag<["-"], "C">, Alias<demangle>, HelpText<"Alias for --demangle">;
def disassemble : Flag<["--"], "disassemble">,
HelpText<"Display assembler mnemonics for the machine instructions">;
def : Flag<["-"], "d">, Alias<disassemble>, HelpText<"Alias for --disassemble">;
def disassemble_all : Flag<["--"], "disassemble-all">,
HelpText<"Display assembler mnemonics for the machine instructions">;
def : Flag<["-"], "D">, Alias<disassemble_all>,
HelpText<"Alias for --disassemble-all">;
def symbol_description : Flag<["--"], "symbol-description">,
HelpText<"Add symbol description for disassembly. This "
"option is for XCOFF files only.">;
def disassemble_symbols_EQ : Joined<["--"], "disassemble-symbols=">,
HelpText<"List of symbols to disassemble. "
"Accept demangled names when --demangle is "
"specified, otherwise accept mangled names">;
def disassemble_zeroes : Flag<["--"], "disassemble-zeroes">,
HelpText<"Do not skip blocks of zeroes when disassembling">;
def : Flag<["-"], "z">, Alias<disassemble_zeroes>,
HelpText<"Alias for --disassemble-zeroes">;
def disassembler_options_EQ : Joined<["--"], "disassembler-options=">,
MetaVarName<"options">,
HelpText<"Pass target specific disassembler options">;
def : JoinedOrSeparate<["-"], "M">, Alias<disassembler_options_EQ>,
HelpText<"Alias for --disassembler-options=">;
def dynamic_reloc : Flag<["--"], "dynamic-reloc">,
HelpText<"Display the dynamic relocation entries in the file">;
def : Flag<["-"], "R">, Alias<dynamic_reloc>,
HelpText<"Alias for --dynamic-reloc">;
def dwarf_EQ : Joined<["--"], "dwarf=">,
HelpText<"Dump of dwarf debug sections">, Values<"frames">;
def fault_map_section : Flag<["--"], "fault-map-section">,
HelpText<"Display contents of faultmap section">;
def file_headers : Flag<["--"], "file-headers">,
HelpText<"Display the contents of the overall file header">;
def : Flag<["-"], "f">, Alias<file_headers>,
HelpText<"Alias for --file-headers">;
def full_contents : Flag<["--"], "full-contents">,
HelpText<"Display the content of each section">;
def : Flag<["-"], "s">, Alias<full_contents>,
HelpText<"Alias for --full-contents">;
def line_numbers : Flag<["--"], "line-numbers">,
HelpText<"Display source line numbers with "
"disassembly. Implies disassemble object">;
def : Flag<["-"], "l">, Alias<line_numbers>,
HelpText<"Alias for --line-numbers">;
def macho : Flag<["--"], "macho">,
HelpText<"Use MachO specific object file parser">;
def : Flag<["-"], "m">, Alias<macho>, HelpText<"Alias for --macho">;
def mcpu_EQ : Joined<["--"], "mcpu=">,
MetaVarName<"cpu-name">,
HelpText<"Target a specific cpu type (--mcpu=help for details)">;
def mattr_EQ : Joined<["--"], "mattr=">,
MetaVarName<"a1,+a2,-a3,...">,
HelpText<"Target specific attributes (--mattr=help for details)">;
def no_show_raw_insn : Flag<["--"], "no-show-raw-insn">,
HelpText<"When disassembling instructions, "
"do not print the instruction bytes.">;
def no_leading_addr : Flag<["--"], "no-leading-addr">,
HelpText<"Print no leading address">;
def raw_clang_ast : Flag<["--"], "raw-clang-ast">,
HelpText<"Dump the raw binary contents of the clang AST section">;
def reloc : Flag<["--"], "reloc">,
HelpText<"Display the relocation entries in the file">;
def : Flag<["-"], "r">, Alias<reloc>, HelpText<"Alias for --reloc">;
def print_imm_hex : Flag<["--"], "print-imm-hex">,
HelpText<"Use hex format for immediate values">;
def no_print_imm_hex : Flag<["--"], "no-print-imm-hex">,
HelpText<"Do not use hex format for immediate values (default)">;
def : Flag<["--"], "print-imm-hex=false">, Alias<no_print_imm_hex>;
def private_headers : Flag<["--"], "private-headers">,
HelpText<"Display format specific file headers">;
def : Flag<["-"], "p">, Alias<private_headers>,
HelpText<"Alias for --private-headers">;
def section_EQ : Joined<["--"], "section=">,
HelpText<"Operate on the specified sections only. "
"With --macho dump segment,section">;
def : Separate<["--"], "section">, Alias<section_EQ>;
def : JoinedOrSeparate<["-"], "j">, Alias<section_EQ>,
HelpText<"Alias for --section">;
def section_headers : Flag<["--"], "section-headers">,
HelpText<"Display summaries of the headers for each section.">;
def : Flag<["--"], "headers">, Alias<section_headers>,
HelpText<"Alias for --section-headers">;
def : Flag<["-"], "h">, Alias<section_headers>,
HelpText<"Alias for --section-headers">;
def show_lma : Flag<["--"], "show-lma">,
HelpText<"Display LMA column when dumping ELF section headers">;
def source : Flag<["--"], "source">,
HelpText<"Display source inlined with disassembly. Implies disassemble object">;
def : Flag<["-"], "S">, Alias<source>, HelpText<"Alias for --source">;
def start_address_EQ : Joined<["--"], "start-address=">,
MetaVarName<"address">,
HelpText<"Disassemble beginning at address">;
def stop_address_EQ : Joined<["--"], "stop-address=">,
MetaVarName<"address">,
HelpText<"Stop disassembly at address">;
def syms : Flag<["--"], "syms">,
HelpText<"Display the symbol table">;
def : Flag<["-"], "t">, Alias<syms>, HelpText<"Alias for --syms">;
def symbolize_operands : Flag<["--"], "symbolize-operands">,
HelpText<"Symbolize instruction operands when disassembling">;
def dynamic_syms : Flag<["--"], "dynamic-syms">,
HelpText<"Display the contents of the dynamic symbol table">;
def : Flag<["-"], "T">, Alias<dynamic_syms>,
HelpText<"Alias for --dynamic-syms">;
def triple_EQ : Joined<["--"], "triple=">,
HelpText<"Target triple to disassemble for, "
"see --version for available targets">;
def : Separate<["--"], "triple">,
Alias<triple_EQ>;
def unwind_info : Flag<["--"], "unwind-info">,
HelpText<"Display unwind information">;
def : Flag<["-"], "u">, Alias<unwind_info>,
HelpText<"Alias for --unwind-info">;
def wide : Flag<["--"], "wide">,
HelpText<"Ignored for compatibility with GNU objdump">;
def : Flag<["-"], "w">, Alias<wide>;
def prefix : Separate<["--"], "prefix">,
HelpText<"Add prefix to absolute paths">;
def prefix_strip : Separate<["--"], "prefix-strip">,
HelpText<"Strip out initial directories from absolute "
"paths. No effect without --prefix">;
def debug_vars_EQ : Joined<["--"], "debug-vars=">,
Values<"unicode,ascii">;
def : Flag<["--"], "debug-vars">,
HelpText<"Print the locations (in registers or memory) of "
"source-level variables alongside disassembly">,
Alias<debug_vars_EQ>, AliasArgs<["unicode"]>;
def debug_vars_indent_EQ : Joined<["--"], "debug-vars-indent=">,
HelpText<"Distance to indent the source-level variable display, "
"relative to the start of the disassembly">;
def x86_asm_syntax_att : Flag<["--"], "x86-asm-syntax=att">,
HelpText<"Emit AT&T-style disassembly">;
def x86_asm_syntax_intel : Flag<["--"], "x86-asm-syntax=intel">,
HelpText<"Emit Intel-style disassembly">;
def mhvx : Flag<["--"], "mhvx">, HelpText<"Enable Hexagon Vector eXtensions">;
def mhvx_v66 : Flag<["--"], "mhvx=v66">;
def mv60 : Flag<["--"], "mv60">, HelpText<"Build for Hexagon V60">;
def mv65 : Flag<["--"], "mv65">, HelpText<"Build for Hexagon V65">;
def mv66 : Flag<["--"], "mv66">, HelpText<"Build for Hexagon V66">;
def mv67 : Flag<["--"], "mv67">, HelpText<"Build for Hexagon V67">;
def mv67t : Flag<["--"], "mv67t">, HelpText<"Build for Hexagon V67T">;
def riscv_no_aliases : Flag<["--"], "riscv-no-aliases">,
HelpText<"Disable the emission of assembler pseudo instructions">;
def grp_mach_o : OptionGroup<"kind">, HelpText<"llvm-objdump MachO Specific Options">;
def private_header : Flag<["--"], "private-header">,
HelpText<"Display only the first format specific file header">,
Group<grp_mach_o>;
def exports_trie : Flag<["--"], "exports-trie">,
HelpText<"Display mach-o exported symbols">,
Group<grp_mach_o>;
def rebase : Flag<["--"], "rebase">,
HelpText<"Display mach-o rebasing info">,
Group<grp_mach_o>;
def bind : Flag<["--"], "bind">,
HelpText<"Display mach-o binding info">,
Group<grp_mach_o>;
def lazy_bind : Flag<["--"], "lazy-bind">,
HelpText<"Display mach-o lazy binding info">,
Group<grp_mach_o>;
def weak_bind : Flag<["--"], "weak-bind">,
HelpText<"Display mach-o weak binding info">,
Group<grp_mach_o>;
def g : Flag<["-"], "g">,
HelpText<"Print line information from debug info if available">,
Group<grp_mach_o>;
def dsym_EQ : Joined<["--"], "dsym=">,
HelpText<"Use .dSYM file for debug info">,
Group<grp_mach_o>;
def : Separate<["--"], "dsym">,
Alias<dsym_EQ>,
Group<grp_mach_o>;
def full_leading_addr : Flag<["--"], "full-leading-addr">,
HelpText<"Print full leading address">,
Group<grp_mach_o>;
def no_leading_headers : Flag<["--"], "no-leading-headers">,
HelpText<"Print no leading headers">,
Group<grp_mach_o>;
def universal_headers : Flag<["--"], "universal-headers">,
HelpText<"Print Mach-O universal headers (requires --macho)">,
Group<grp_mach_o>;
def archive_member_offsets : Flag<["--"], "archive-member-offsets">,
HelpText<"Print the offset to each archive member for Mach-O archives "
"(requires --macho and --archive-headers)">,
Group<grp_mach_o>;
def indirect_symbols : Flag<["--"], "indirect-symbols">,
HelpText<"Print indirect symbol table for Mach-O objects (requires --macho)">,
Group<grp_mach_o>;
def data_in_code : Flag<["--"], "data-in-code">,
HelpText<"Print the data in code table for Mach-O objects (requires --macho)">,
Group<grp_mach_o>;
def function_starts : Flag<["--"], "function-starts">,
HelpText<"Print the function starts table for "
"Mach-O objects (requires --macho)">,
Group<grp_mach_o>;
def link_opt_hints : Flag<["--"], "link-opt-hints">,
HelpText<"Print the linker optimization hints for "
"Mach-O objects (requires --macho)">,
Group<grp_mach_o>;
def info_plist : Flag<["--"], "info-plist">,
HelpText<"Print the info plist section as strings for "
"Mach-O objects (requires --macho)">,
Group<grp_mach_o>;
def dylibs_used : Flag<["--"], "dylibs-used">,
HelpText<"Print the shared libraries used for linked "
"Mach-O files (requires --macho)">,
Group<grp_mach_o>;
def dylib_id : Flag<["--"], "dylib-id">,
HelpText<"Print the shared library's id for the "
"dylib Mach-O file (requires --macho)">,
Group<grp_mach_o>;
def rpaths : Flag<["--"], "rpaths">,
HelpText<"Print the runtime search paths for the "
"Mach-O file (requires --macho)">,
Group<grp_mach_o>;
def non_verbose : Flag<["--"], "non-verbose">,
HelpText<"Print the info for Mach-O objects in non-verbose or "
"numeric form (requires --macho)">,
Group<grp_mach_o>;
def objc_meta_data : Flag<["--"], "objc-meta-data">,
HelpText<"Print the Objective-C runtime meta data "
"for Mach-O files (requires --macho)">,
Group<grp_mach_o>;
def dis_symname : Separate<["--"], "dis-symname">,
HelpText<"disassemble just this symbol's instructions (requires --macho)">,
Group<grp_mach_o>;
def no_symbolic_operands : Flag<["--"], "no-symbolic-operands">,
HelpText<"do not symbolic operands when disassembling (requires --macho)">,
Group<grp_mach_o>;
def arch_EQ : Joined<["--"], "arch=">,
HelpText<"architecture(s) from a Mach-O file to dump">,
Group<grp_mach_o>;
def : Separate<["--"], "arch">,
Alias<arch_EQ>,
Group<grp_mach_o>;