1include "llvm/Option/OptParser.td" 2 3class F<string letter, string help> : Flag<["-"], letter>, HelpText<help>; 4class FF<string name, string help> : Flag<["--"], name>, HelpText<help>; 5 6multiclass Eq<string name, string help> { 7 def NAME #_EQ : Joined<["--"], name #"=">, HelpText<help>; 8 def : Separate<["--"], name>, Alias<!cast<Joined>(NAME #_EQ)>; 9} 10 11def help : FF<"help", "Display this help">; 12def : F<"h", "Alias for --help">, Alias<help>; 13def version : FF<"version", "Display the version">; 14def : F<"v", "Alias for --version">, Alias<version>; 15def verbose : FF<"verbose", "Enable verbose logging and encoding details">; 16defm convert : 17 Eq<"convert", 18 "Convert the specified file to the GSYM format.\nSupported files include ELF and mach-o files that will have their debug info (DWARF) and symbol table converted">; 19def merged_functions : 20 FF<"merged-functions", "When used with --convert, encodes merged function information for functions in debug info that have matching address ranges.\n" 21 "Without this option one function per unique address range will be emitted.\n" 22 "When used with --address/--addresses-from-stdin, all merged functions for a particular address will be displayed.\n" 23 "Without this option only one function will be displayed.">; 24def dwarf_callsites : FF<"dwarf-callsites", "Load call site info from DWARF, if available">; 25defm callsites_yaml_file : 26 Eq<"callsites-yaml-file", "Load call site info from YAML file. Useful for testing.">, Flags<[HelpHidden]>; 27defm arch : 28 Eq<"arch", 29 "Process debug information for the specified CPU architecture only.\nArchitectures may be specified by name or by number.\nThis option can be specified multiple times, once for each desired architecture">; 30defm out_file : 31 Eq<"out-file", 32 "Specify the path where the converted GSYM file will be saved.\nWhen not specified, a '.gsym' extension will be appended to the file name specified in the --convert option">; 33def : Separate<["-"], "o">, HelpText<"Alias for --out-file">, Alias<out_file_EQ>; 34def verify : FF<"verify", "Verify the generated GSYM file against the information in the file that was converted">; 35defm num_threads : 36 Eq<"num-threads", 37 "Specify the maximum number (n) of simultaneous threads to use when converting files to GSYM.\nDefaults to the number of cores on the current machine">; 38defm segment_size : 39 Eq<"segment-size", 40 "Specify the size in bytes of the size the final GSYM file should be segmented into. This allows GSYM files to be split across multiple files">; 41def quiet : FF<"quiet", "Do not output warnings about the debug information">; 42defm address : Eq<"address", "Lookup an address in a GSYM file">; 43def addresses_from_stdin : 44 FF<"addresses-from-stdin", 45 "Lookup addresses in a GSYM file that are read from stdin\nEach input line is expected to be of the following format: <addr> <gsym-path>">; 46defm json_summary_file : 47 Eq<"json-summary-file", 48 "Output a categorized summary of errors into the JSON file specified.">; 49defm merged_functions_filter : 50 Eq<"merged-functions-filter", 51 "When used with --address/--addresses-from-stdin and --merged-functions,\n" 52 "filters the merged functions output to only show functions matching any of the specified regex patterns.\n" 53 "Can be specified multiple times.">; 54