2019-10-03 18:34:41 +02:00
include "llvm/Option/OptParser.td"
class F < string name > : Flag < [ "--" , "-" ] , name > ;
def grp_general : OptionGroup < "Dsymutil" > , HelpText < "Dsymutil Options" > ;
def help : F < "help" > ,
HelpText < "Prints this help output." > ,
Group < grp_general > ;
def : Flag < [ "-" ] , "h" > ,
Alias < help > ,
HelpText < "Alias for --help" > ,
Group < grp_general > ;
def version : F < "version" > ,
HelpText < "Prints the dsymutil version." > ,
Group < grp_general > ;
def : Flag < [ "-" ] , "v" > ,
Alias < version > ,
HelpText < "Alias for --version" > ,
Group < grp_general > ;
def verbose : F < "verbose" > ,
HelpText < "Enable verbose mode." > ,
Group < grp_general > ;
2021-04-27 03:20:49 +02:00
def keep_func_for_static : F < "keep-function-for-static" > ,
HelpText < "Make a static variable keep the enclosing function even if it would have been omitted otherwise." > ,
Group < grp_general > ;
2020-05-07 04:38:30 +02:00
def statistics : F < "statistics" > ,
HelpText < "Print statistics about the contribution of each object file to "
"the linked debug info. This prints a table after linking with the "
"object file name, the size of the debug info in the object file "
"(in bytes) and the size contributed (in bytes) to the linked dSYM. "
"The table is sorted by the output size listing the object files "
"with the largest contribution first." > ,
Group < grp_general > ;
2019-10-03 18:34:41 +02:00
def verify : F < "verify" > ,
HelpText < "Run the DWARF verifier on the linked DWARF debug info." > ,
Group < grp_general > ;
def no_output : F < "no-output" > ,
HelpText < "Do the link in memory, but do not emit the result file." > ,
Group < grp_general > ;
def no_swiftmodule_timestamp : F < "no-swiftmodule-timestamp" > ,
HelpText < "Don't check timestamp for swiftmodule files." > ,
Group < grp_general > ;
def no_odr : F < "no-odr" > ,
HelpText < "Do not use ODR (One Definition Rule) for type uniquing." > ,
Group < grp_general > ;
def dump_debug_map : F < "dump-debug-map" > ,
HelpText < "Parse and dump the debug map to standard output. Not DWARF link will take place." > ,
Group < grp_general > ;
2020-04-29 04:16:06 +02:00
def yaml_input : Flag < [ "-" , "--" ] , "y" > ,
2019-10-03 18:34:41 +02:00
HelpText < "Treat the input file is a YAML debug map rather than a binary." > ,
Group < grp_general > ;
def papertrail : F < "papertrail" > ,
HelpText < "Embed warnings in the linked DWARF debug info." > ,
Group < grp_general > ;
2020-04-29 04:16:06 +02:00
def assembly : Flag < [ "-" , "--" ] , "S" > ,
2019-10-03 18:34:41 +02:00
HelpText < "Output textual assembly instead of a binary dSYM companion file." > ,
Group < grp_general > ;
def symtab : F < "symtab" > ,
HelpText < "Dumps the symbol table found in executable or object file(s) and exits." > ,
Group < grp_general > ;
def : Flag < [ "-" ] , "s" > ,
Alias < symtab > ,
HelpText < "Alias for --symtab" > ,
Group < grp_general > ;
def flat : F < "flat" > ,
HelpText < "Produce a flat dSYM file (not a bundle)." > ,
Group < grp_general > ;
def : Flag < [ "-" ] , "f" > ,
Alias < flat > ,
HelpText < "Alias for --flat" > ,
Group < grp_general > ;
def update : F < "update" > ,
HelpText < "Updates existing dSYM files to contain the latest accelerator tables and other DWARF optimizations." > ,
Group < grp_general > ;
def : Flag < [ "-" ] , "u" > ,
Alias < update > ,
HelpText < "Alias for --update" > ,
Group < grp_general > ;
2020-04-29 04:16:06 +02:00
def output : Separate < [ "-" , "--" ] , "o" > ,
2019-10-03 18:34:41 +02:00
MetaVarName < "<filename>" > ,
HelpText < "Specify the output file. Defaults to <input file>.dwarf" > ,
Group < grp_general > ;
2019-12-04 02:06:05 +01:00
def : Separate < [ "--" , "-" ] , "out" > ,
2020-05-18 20:34:09 +02:00
MetaVarName < "<filename>" > ,
2019-10-03 18:34:41 +02:00
Alias < output > ,
2020-04-29 04:16:06 +02:00
HelpText < "Alias for -o" > ,
2019-10-03 18:34:41 +02:00
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "out=" > , Alias < output > ;
2020-04-29 04:16:06 +02:00
def : Joined < [ "-" , "--" ] , "o=" > , Alias < output > ;
2019-10-03 18:34:41 +02:00
def oso_prepend_path : Separate < [ "--" , "-" ] , "oso-prepend-path" > ,
MetaVarName < "<path>" > ,
HelpText < "Specify a directory to prepend to the paths of object files." > ,
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "oso-prepend-path=" > , Alias < oso_prepend_path > ;
2020-03-18 23:31:39 +01:00
def object_prefix_map : Separate < [ "--" , "-" ] , "object-prefix-map" > ,
MetaVarName < "<prefix=remapped>" > ,
HelpText < "Remap object file paths (but no source paths) before processing."
"Use this for Clang objects where the module cache location was"
"remapped using -fdebug-prefix-map; to help dsymutil"
"find the Clang module cache." > ,
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "object-prefix-map=" > , Alias < object_prefix_map > ;
2019-10-03 18:34:41 +02:00
def symbolmap : Separate < [ "--" , "-" ] , "symbol-map" > ,
MetaVarName < "<bcsymbolmap>" > ,
HelpText < "Updates the existing dSYMs inplace using symbol map specified." > ,
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "symbol-map=" > , Alias < symbolmap > ;
def arch : Separate < [ "--" , "-" ] , "arch" > ,
MetaVarName < "<arch>" > ,
HelpText < "Link DWARF debug information only for specified CPU architecture"
"types. This option can be specified multiple times, once for each"
"desired architecture. All CPU architectures will be linked by"
"default." > ,
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "arch=" > , Alias < arch > ;
def accelerator : Separate < [ "--" , "-" ] , "accelerator" > ,
MetaVarName < "<accelerator type>" > ,
2021-04-07 02:23:51 +02:00
HelpText < "Specify the desired type of accelerator table. Valid options are 'Apple' (.apple_names, .apple_namespaces, .apple_types, .apple_objc), 'Dwarf' (.debug_names), 'Pub' (.debug_pubnames, .debug_pubtypes) and 'Default'" > ,
2019-10-03 18:34:41 +02:00
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "accelerator=" > , Alias < accelerator > ;
def toolchain : Separate < [ "--" , "-" ] , "toolchain" > ,
MetaVarName < "<toolchain>" > ,
HelpText < "Embed toolchain information in dSYM bundle." > ,
Group < grp_general > ;
def threads : Separate < [ "--" , "-" ] , "num-threads" > ,
MetaVarName < "<threads>" > ,
HelpText < "Specifies the maximum number of simultaneous threads to use when linking multiple architectures." > ,
Group < grp_general > ;
def : Separate < [ "-" ] , "j" > ,
2020-05-18 20:34:09 +02:00
MetaVarName < "<threads>" > ,
2019-10-03 18:34:41 +02:00
HelpText < "Alias for --num-threads" > ,
Group < grp_general > ;
2019-09-30 18:05:12 +02:00
2020-05-21 19:57:53 +02:00
def gen_reproducer : F < "gen-reproducer" > ,
HelpText < "Generate a reproducer consisting of the input object files." > ,
Group < grp_general > ;
def use_reproducer : Separate < [ "--" , "-" ] , "use-reproducer" > ,
MetaVarName < "<path>" > ,
HelpText < "Use the object files from the given reproducer path." > ,
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "use-reproducer=" > , Alias < use_reproducer > ;
2019-09-30 18:05:12 +02:00
def remarks_prepend_path : Separate < [ "--" , "-" ] , "remarks-prepend-path" > ,
MetaVarName < "<path>" > ,
HelpText < "Specify a directory to prepend to the paths of the external remark files." > ,
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "remarks-prepend-path=" > , Alias < remarks_prepend_path > ;
def remarks_output_format : Separate < [ "--" , "-" ] , "remarks-output-format" > ,
MetaVarName < "<format>" > ,
HelpText < "Specify the format to be used when serializing the linked remarks." > ,
Group < grp_general > ;
def : Joined < [ "--" , "-" ] , "remarks-output-format=" > , Alias < remarks_output_format > ;