1*fe6060f1SDimitry Andricinclude "llvm/Option/OptParser.td" 2*fe6060f1SDimitry Andric 3*fe6060f1SDimitry Andricclass F<string letter, string help> : Flag<["-"], letter>, HelpText<help>; 4*fe6060f1SDimitry Andricclass FF<string name, string help> : Flag<["--"], name>, HelpText<help>; 5*fe6060f1SDimitry Andric 6*fe6060f1SDimitry Andricmulticlass Eq<string name, string help> { 7*fe6060f1SDimitry Andric def NAME #_EQ : Joined<["--"], name #"=">, 8*fe6060f1SDimitry Andric HelpText<help>; 9*fe6060f1SDimitry Andric def : Separate<["--"], name>, Alias<!cast<Joined>(NAME #_EQ)>; 10*fe6060f1SDimitry Andric} 11*fe6060f1SDimitry Andric 12*fe6060f1SDimitry Andricdef common : FF<"common", "Print common symbols in the ELF file. When using Berkeley format, this is added to bss">; 13*fe6060f1SDimitry Andricdefm format : Eq<"format", "Specify output format">; 14*fe6060f1SDimitry Andricdef help : FF<"help", "Display this help">; 15*fe6060f1SDimitry Andricdefm radix : Eq<"radix", "Print size in radix">; 16*fe6060f1SDimitry Andricdef totals : FF<"totals", "Print totals of all objects - Berkeley format only">; 17*fe6060f1SDimitry Andricdef version : FF<"version", "Display the version">; 18*fe6060f1SDimitry Andric 19*fe6060f1SDimitry Andric// Mach-O specific options. 20*fe6060f1SDimitry Andricdef grp_mach_o : OptionGroup<"kind">, HelpText<"OPTIONS (Mach-O specific)">; 21*fe6060f1SDimitry Andricdef arch_EQ : Joined<["--"], "arch=">, HelpText<"architecture(s) from a Mach-O file to dump">, Group<grp_mach_o>; 22*fe6060f1SDimitry Andricdef : Separate<["--", "-"], "arch">, Alias<arch_EQ>; 23*fe6060f1SDimitry Andricdef l : F<"l", "When format is darwin, use long format to include addresses and offsets">, Group<grp_mach_o>; 24*fe6060f1SDimitry Andric 25*fe6060f1SDimitry Andricdef : F<"A", "Alias for --format">, Alias<format_EQ>, AliasArgs<["sysv"]>; 26*fe6060f1SDimitry Andricdef : F<"B", "Alias for --format">, Alias<format_EQ>, AliasArgs<["berkeley"]>; 27*fe6060f1SDimitry Andricdef : F<"d", "Alias for --radix=10">, Alias<radix_EQ>, AliasArgs<["10"]>; 28*fe6060f1SDimitry Andricdef : F<"h", "Alias for --help">, Alias<help>; 29*fe6060f1SDimitry Andricdef : F<"m", "Alias for --format">, Alias<format_EQ>, AliasArgs<["darwin"]>; 30*fe6060f1SDimitry Andricdef : F<"o", "Alias for --radix=8">, Alias<radix_EQ>, AliasArgs<["8"]>; 31*fe6060f1SDimitry Andricdef : F<"t", "Alias for --totals">, Alias<totals>; 32*fe6060f1SDimitry Andricdef : F<"x", "Alias for --radix=16">, Alias<radix_EQ>, AliasArgs<["16"]>; 33