xref: /openbsd/gnu/llvm/llvm/tools/llvm-nm/Opts.td (revision d415bd75)
173471bf0Spatrickinclude "llvm/Option/OptParser.td"
273471bf0Spatrick
373471bf0Spatrickclass F<string letter, string help> : Flag<["-"], letter>, HelpText<help>;
473471bf0Spatrickclass FF<string name, string help> : Flag<["--"], name>, HelpText<help>;
573471bf0Spatrick
673471bf0Spatrickmulticlass BB<string name, string help1, string help2> {
773471bf0Spatrick  def NAME: Flag<["--"], name>, HelpText<help1>;
873471bf0Spatrick  def no_ # NAME: Flag<["--"], "no-" # name>, HelpText<help2>;
973471bf0Spatrick}
1073471bf0Spatrick
1173471bf0Spatrickmulticlass Eq<string name, string help> {
1273471bf0Spatrick  def NAME #_EQ : Joined<["--"], name #"=">, HelpText<help>;
1373471bf0Spatrick  def : Separate<["--"], name>, Alias<!cast<Joined>(NAME #_EQ)>;
1473471bf0Spatrick}
1573471bf0Spatrick
16*d415bd75Srobertdef X : JoinedOrSeparate<["-"], "X">, HelpText<"Specifies the type of ELF, XCOFF, or IR object file to examine. The value must be one of: 32, 64, 32_64, any (default)">;
1773471bf0Spatrickdef debug_syms : FF<"debug-syms", "Show all symbols, even debugger only">;
1873471bf0Spatrickdef defined_only : FF<"defined-only", "Show only defined symbols">;
1973471bf0Spatrickdefm demangle : BB<"demangle", "Demangle C++ symbol names", "Don't demangle symbol names">;
2073471bf0Spatrickdef dynamic : FF<"dynamic", "Display dynamic symbols instead of normal symbols">;
21*d415bd75Srobertdef export_symbols : FF<"export-symbols", "Export symbol list for all inputs">;
2273471bf0Spatrickdef extern_only : FF<"extern-only", "Show only external symbols">;
2373471bf0Spatrickdefm format : Eq<"format", "Specify output format: bsd (default), posix, sysv, darwin, just-symbols">, MetaVarName<"<format>">;
2473471bf0Spatrickdef help : FF<"help", "Display this help">;
2573471bf0Spatrickdef no_llvm_bc : FF<"no-llvm-bc", "Disable LLVM bitcode reader">;
2673471bf0Spatrickdef no_sort : FF<"no-sort", "Show symbols in order encountered">;
2773471bf0Spatrickdef no_weak : FF<"no-weak", "Show only non-weak symbols">;
2873471bf0Spatrickdef numeric_sort : FF<"numeric-sort", "Sort symbols by address">;
2973471bf0Spatrickdef print_armap : FF<"print-armap", "Print the archive map">;
3073471bf0Spatrickdef print_file_name : FF<"print-file-name", "Precede each symbol with the object file it came from">;
3173471bf0Spatrickdef print_size : FF<"print-size", "Show symbol size as well as address">;
3273471bf0Spatrickdef quiet : FF<"quiet", "Suppress 'no symbols' diagnostic">;
3373471bf0Spatrickdefm radix : Eq<"radix", "Radix (o/d/x) for printing symbol Values">, MetaVarName<"<radix>">;
3473471bf0Spatrickdef reverse_sort : FF<"reverse-sort", "Sort in reverse order">;
3573471bf0Spatrickdef size_sort : FF<"size-sort", "Sort symbols by size">;
3673471bf0Spatrickdef special_syms : FF<"special-syms", "Do not filter special symbols from the output">;
3773471bf0Spatrickdef undefined_only : FF<"undefined-only", "Show only undefined symbols">;
3873471bf0Spatrickdef version : FF<"version", "Display the version">;
3973471bf0Spatrickdef without_aliases : FF<"without-aliases", "Exclude aliases from output">, Flags<[HelpHidden]>;
4073471bf0Spatrick
4173471bf0Spatrick// Mach-O specific options.
4273471bf0Spatrickdef grp_mach_o : OptionGroup<"kind">, HelpText<"llvm-nm Mach-O Specific Options">;
4373471bf0Spatrick
4473471bf0Spatrickdef add_dyldinfo : FF<"add-dyldinfo", "Add symbols from the dyldinfo not already in the symbol table">, Group<grp_mach_o>;
4573471bf0Spatrickdef add_inlinedinfo : FF<"add-inlinedinfo", "Add symbols from the inlined libraries, TBD only">, Group<grp_mach_o>;
4673471bf0Spatrickdef arch_EQ : Joined<["--"], "arch=">, HelpText<"architecture(s) from a Mach-O file to dump">, Group<grp_mach_o>;
4773471bf0Spatrickdef : Separate<["--", "-"], "arch">, Alias<arch_EQ>;
4873471bf0Spatrickdef dyldinfo_only : FF<"dyldinfo-only", "Show only symbols from the dyldinfo">, Group<grp_mach_o>;
4973471bf0Spatrickdef no_dyldinfo : FF<"no-dyldinfo", "Don't add any symbols from the dyldinfo">, Group<grp_mach_o>;
5073471bf0Spatrickdef s : F<"s", "Dump only symbols from this segment and section name">, Group<grp_mach_o>;
5173471bf0Spatrickdef x : F<"x", "Print symbol entry in hex">, Group<grp_mach_o>;
5273471bf0Spatrick
53*d415bd75Srobert// XCOFF specific options.
54*d415bd75Srobertdef grp_xcoff_o : OptionGroup<"kind">, HelpText<"llvm-nm XCOFF Specific Options">;
55*d415bd75Srobert
56*d415bd75Srobertdef no_rsrc : FF<"no-rsrc", "Exclude resource file symbols (__rsrc) from the export symbol list.">, Group<grp_xcoff_o>;
57*d415bd75Srobert
5873471bf0Spatrickdef : FF<"just-symbol-name", "Alias for --format=just-symbols">, Alias<format_EQ>, AliasArgs<["just-symbols"]>, Flags<[HelpHidden]>;
5973471bf0Spatrickdef : FF<"portability", "Alias for --format=posix">, Alias<format_EQ>, AliasArgs<["posix"]>;
6073471bf0Spatrick
6173471bf0Spatrickdef : F<"a", "Alias for --debug-syms">, Alias<debug_syms>;
6273471bf0Spatrickdef : F<"A", "Alias for --print-file-name">, Alias<print_file_name>;
6373471bf0Spatrickdef : F<"B", "Alias for --format=bsd">, Alias<format_EQ>, AliasArgs<["bsd"]>;
6473471bf0Spatrickdef : F<"C", "Alias for --demangle">, Alias<demangle>;
6573471bf0Spatrickdef : F<"D", "Alias for --dynamic">, Alias<dynamic>;
6673471bf0Spatrickdef : JoinedOrSeparate<["-"], "f">, HelpText<"Alias for --format">, Alias<format_EQ>, MetaVarName<"<format>">;
6773471bf0Spatrickdef : F<"h", "Alias for --help">, Alias<help>;
6873471bf0Spatrickdef : F<"g", "Alias for --extern-only">, Alias<extern_only>;
6973471bf0Spatrickdef : F<"j", "Alias for --format=just-symbols">, Alias<format_EQ>, AliasArgs<["just-symbols"]>;
7073471bf0Spatrickdef : F<"m", "Alias for --format=darwin">, Alias<format_EQ>, AliasArgs<["darwin"]>;
7173471bf0Spatrickdef : F<"M", "Deprecated alias for --print-armap">, Alias<print_armap>, Flags<[HelpHidden]>;
7273471bf0Spatrickdef : F<"n", "Alias for --numeric-sort">, Alias<numeric_sort>;
7373471bf0Spatrickdef : F<"o", "Alias for --print-file-name">, Alias<print_file_name>;
7473471bf0Spatrickdef : F<"p", "Alias for --no-sort">, Alias<no_sort>;
7573471bf0Spatrickdef : F<"P", "Alias for --format=posix">, Alias<format_EQ>, AliasArgs<["posix"]>;
7673471bf0Spatrickdef : F<"r", "Alias for --reverse-sort">, Alias<reverse_sort>;
7773471bf0Spatrickdef : F<"S", "Alias for --print-size">, Alias<print_size>;
7873471bf0Spatrickdef : JoinedOrSeparate<["-"], "t">, HelpText<"Alias for --radix">, Alias<radix_EQ>, MetaVarName<"<radix>">;
7973471bf0Spatrickdef : F<"u", "Alias for --undefined-only">, Alias<undefined_only>;
80*d415bd75Srobertdef : F<"U", "Alias for --defined-only">, Alias<defined_only>;
8173471bf0Spatrickdef : F<"v", "Alias for --numeric-sort">, Alias<numeric_sort>;
8273471bf0Spatrickdef : F<"V", "Alias for --version">, Alias<version>;
83*d415bd75Srobertdef : F<"W", "Alias for --no-weak">, Alias<no_weak>;
84