1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | |* *| |
3 | |* Option Parsing Definitions *| |
4 | |* *| |
5 | |* Automatically generated file, do not edit! *| |
6 | |* *| |
7 | \*===----------------------------------------------------------------------===*/ |
8 | |
9 | ///////// |
10 | // Prefixes |
11 | |
12 | #ifdef PREFIX |
13 | #define COMMA , |
14 | PREFIX(prefix_0, {llvm::StringLiteral("" )}) |
15 | PREFIX(prefix_2, {llvm::StringLiteral("-" ) COMMA llvm::StringLiteral("" )}) |
16 | PREFIX(prefix_1, {llvm::StringLiteral("--" ) COMMA llvm::StringLiteral("" )}) |
17 | #undef COMMA |
18 | #endif // PREFIX |
19 | |
20 | ///////// |
21 | // Prefix Union |
22 | |
23 | #ifdef PREFIX_UNION |
24 | #define COMMA , |
25 | PREFIX_UNION({ |
26 | llvm::StringLiteral("-" ) COMMA llvm::StringLiteral("--" ) COMMA llvm::StringLiteral("" )}) |
27 | #undef COMMA |
28 | #endif // PREFIX_UNION |
29 | |
30 | ///////// |
31 | // ValuesCode |
32 | |
33 | #ifdef OPTTABLE_VALUES_CODE |
34 | #endif |
35 | ///////// |
36 | // Groups |
37 | |
38 | #ifdef OPTION |
39 | OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "kind" , grp_coff, Group, INVALID, INVALID, nullptr, 0, 0, 0, |
40 | "OPTIONS (COFF specific)" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
41 | OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "kind" , grp_macho, Group, INVALID, INVALID, nullptr, 0, 0, 0, |
42 | "OPTIONS (Mach-O specific)" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
43 | |
44 | ////////// |
45 | // Options |
46 | |
47 | OPTION(prefix_0, "<input>" , INPUT, Input, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
48 | OPTION(prefix_0, "<unknown>" , UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
49 | OPTION(prefix_1, "--add-gnu-debuglink=" , add_gnu_debuglink_eq, Joined, INVALID, add_gnu_debuglink, nullptr, 0, DefaultVis, 0, |
50 | "Add a .gnu_debuglink for <debug-file>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "debug-file" , nullptr) |
51 | OPTION(prefix_1, "--add-gnu-debuglink" , add_gnu_debuglink, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "debug-file" , nullptr) |
52 | OPTION(prefix_1, "--add-section=" , add_section_eq, Joined, INVALID, add_section, nullptr, 0, DefaultVis, 0, |
53 | "Add a section named <section> with the contents of <file>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=file" , nullptr) |
54 | OPTION(prefix_1, "--add-section" , add_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=file" , nullptr) |
55 | OPTION(prefix_1, "--add-symbol=" , add_symbol_eq, Joined, INVALID, add_symbol, nullptr, 0, DefaultVis, 0, |
56 | "Add new symbol <name> to .symtab. Accepted flags: global, local, weak, default, hidden, protected, file, section, object, function, indirect-function. Accepted but ignored for compatibility: debug, constructor, warning, indirect, synthetic, unique-object, before" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name=[section:]value[,flags]" , nullptr) |
57 | OPTION(prefix_1, "--add-symbol" , add_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name=[section:]value[,flags]" , nullptr) |
58 | OPTION(prefix_1, "--adjust-start" , adjust_start, JoinedOrSeparate, INVALID, change_start, nullptr, 0, DefaultVis, 0, |
59 | "Alias for --change-start" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
60 | OPTION(prefix_1, "--allow-broken-links" , allow_broken_links, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
61 | "Allow the tool to remove sections even if it would leave invalid section references. The appropriate sh_link fields will be set to zero." , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
62 | OPTION(prefix_1, "--binary-architecture=" , binary_architecture_eq, Joined, INVALID, binary_architecture, nullptr, 0, DefaultVis, 0, |
63 | "Ignored for compatibility" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
64 | OPTION(prefix_1, "--binary-architecture" , binary_architecture, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
65 | OPTION(prefix_2, "-B" , B, JoinedOrSeparate, INVALID, binary_architecture, nullptr, 0, DefaultVis, 0, |
66 | "Alias for --binary-architecture" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
67 | OPTION(prefix_1, "--change-section-lma=" , change_section_lma_eq, Joined, INVALID, change_section_lma, nullptr, 0, DefaultVis, 0, |
68 | "Shift LMA of non-zero-sized sections in the program header by <val>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "*{+|-}val" , nullptr) |
69 | OPTION(prefix_1, "--change-section-lma" , change_section_lma, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "*{+|-}val" , nullptr) |
70 | OPTION(prefix_1, "--change-start=" , change_start_eq, Joined, INVALID, change_start, nullptr, 0, DefaultVis, 0, |
71 | "Add <incr> to the start address. Can be specified multiple times, all values will be applied cumulatively" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "incr" , nullptr) |
72 | OPTION(prefix_1, "--change-start" , change_start, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "incr" , nullptr) |
73 | OPTION(prefix_1, "--compress-debug-sections=" , compress_debug_sections, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
74 | "Compress DWARF debug sections using specified format. Supported formats: zlib, zstd. Select zlib if <format> is omitted" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "format" , nullptr) |
75 | OPTION(prefix_1, "--compress-debug-sections" , anonymous_0, Flag, INVALID, compress_debug_sections, "zlib\0" , 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
76 | OPTION(prefix_1, "--compress-sections=" , compress_sections_eq, Joined, INVALID, compress_sections, nullptr, 0, DefaultVis, 0, |
77 | "Compress or decompress sections using specified format. Supported formats: zlib, zstd. Specify 'none' for decompression" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<section-glob>=<format>" , nullptr) |
78 | OPTION(prefix_1, "--compress-sections" , compress_sections, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<section-glob>=<format>" , nullptr) |
79 | OPTION(prefix_1, "--decompress-debug-sections" , decompress_debug_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
80 | "Decompress DWARF debug sections" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
81 | OPTION(prefix_1, "--disable-deterministic-archives" , disable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
82 | "Disable deterministic mode when operating on archives (use real values for UIDs, GIDs, and timestamps)." , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
83 | OPTION(prefix_1, "--discard-all" , discard_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
84 | "Remove most local symbols. Different file formats may limit this to a subset. For ELF, file and section symbols are not discarded. Additionally, remove all debug sections" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
85 | OPTION(prefix_1, "--discard-locals" , discard_locals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
86 | "Remove local symbols starting with .L" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
87 | OPTION(prefix_1, "--dump-section=" , dump_section_eq, Joined, INVALID, dump_section, nullptr, 0, DefaultVis, 0, |
88 | "Dump contents of section named <section> into file <file>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=file" , nullptr) |
89 | OPTION(prefix_1, "--dump-section" , dump_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=file" , nullptr) |
90 | OPTION(prefix_2, "-D" , D, Flag, INVALID, enable_deterministic_archives, nullptr, 0, DefaultVis, 0, |
91 | "Alias for --enable-deterministic-archives" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
92 | OPTION(prefix_1, "--enable-deterministic-archives" , enable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
93 | "Enable deterministic mode when operating on archives (use zero for UIDs, GIDs, and timestamps)." , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
94 | OPTION(prefix_1, "--extract-dwo" , extract_dwo, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
95 | "Remove all sections that are not DWARF .dwo sections from file" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
96 | OPTION(prefix_1, "--extract-main-partition" , extract_main_partition, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
97 | "Extract main partition from the input file" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
98 | OPTION(prefix_1, "--extract-partition=" , extract_partition_eq, Joined, INVALID, extract_partition, nullptr, 0, DefaultVis, 0, |
99 | "Extract named partition from input file" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name" , nullptr) |
100 | OPTION(prefix_1, "--extract-partition" , extract_partition, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name" , nullptr) |
101 | OPTION(prefix_2, "-F" , F, JoinedOrSeparate, INVALID, target, nullptr, 0, DefaultVis, 0, |
102 | "Alias for --target" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
103 | OPTION(prefix_1, "--gap-fill=" , gap_fill_eq, Joined, INVALID, gap_fill, nullptr, 0, DefaultVis, 0, |
104 | "Fill the gaps between sections with <value> instead of zero. <value> must be an unsigned 8-bit integer. This option is only supported for ELF input and binary output" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "value" , nullptr) |
105 | OPTION(prefix_1, "--gap-fill" , gap_fill, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "value" , nullptr) |
106 | OPTION(prefix_1, "--globalize-symbol=" , globalize_symbol_eq, Joined, INVALID, globalize_symbol, nullptr, 0, DefaultVis, 0, |
107 | "Mark <symbol> as global" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
108 | OPTION(prefix_1, "--globalize-symbols=" , globalize_symbols_eq, Joined, INVALID, globalize_symbols, nullptr, 0, DefaultVis, 0, |
109 | "Read a list of symbols from <filename> and mark defined symbols with those names as global" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
110 | OPTION(prefix_1, "--globalize-symbols" , globalize_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
111 | OPTION(prefix_1, "--globalize-symbol" , globalize_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
112 | OPTION(prefix_2, "-G" , G, JoinedOrSeparate, INVALID, keep_global_symbol, nullptr, 0, DefaultVis, 0, |
113 | "Alias for --keep-global-symbol" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
114 | OPTION(prefix_2, "-g" , g, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0, |
115 | "Alias for --strip-debug" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
116 | OPTION(prefix_1, "--help" , help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
117 | OPTION(prefix_2, "-h" , h, Flag, INVALID, help, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
118 | OPTION(prefix_1, "--input-target=" , input_target_eq, Joined, INVALID, input_target, nullptr, 0, DefaultVis, 0, |
119 | "Read the input as the specified format" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "format" , nullptr) |
120 | OPTION(prefix_1, "--input-target" , input_target, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "format" , nullptr) |
121 | OPTION(prefix_2, "-I" , I, JoinedOrSeparate, INVALID, input_target, nullptr, 0, DefaultVis, 0, |
122 | "Alias for --input-target" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
123 | OPTION(prefix_2, "-j" , j, JoinedOrSeparate, INVALID, only_section, nullptr, 0, DefaultVis, 0, |
124 | "Alias for --only-section" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
125 | OPTION(prefix_1, "--keep-file-symbols" , keep_file_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
126 | "Keep symbols of type STT_FILE, even if they would otherwise be stripped" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
127 | OPTION(prefix_1, "--keep-global-symbol=" , keep_global_symbol_eq, Joined, INVALID, keep_global_symbol, nullptr, 0, DefaultVis, 0, |
128 | "Mark all symbols local, except for symbols with the name <symbol>. Can be specified multiple times to ignore multiple symbols" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
129 | OPTION(prefix_1, "--keep-global-symbols=" , keep_global_symbols_eq, Joined, INVALID, keep_global_symbols, nullptr, 0, DefaultVis, 0, |
130 | "Read a list of symbols from <filename> and run as if --keep-global-symbol=<symbol> is set for each one. <filename> contains one symbol per line and may contain comments beginning with '#'. Leading and trailing whitespace is stripped from each line. May be repeated to read symbols from many files" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
131 | OPTION(prefix_1, "--keep-global-symbols" , keep_global_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
132 | OPTION(prefix_1, "--keep-global-symbol" , keep_global_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
133 | OPTION(prefix_1, "--keep-section=" , keep_section_eq, Joined, INVALID, keep_section, nullptr, 0, DefaultVis, 0, |
134 | "Keep <section>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
135 | OPTION(prefix_1, "--keep-section" , keep_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
136 | OPTION(prefix_1, "--keep-symbol=" , keep_symbol_eq, Joined, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0, |
137 | "When removing symbols, do not remove <symbol>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
138 | OPTION(prefix_1, "--keep-symbols=" , keep_symbols_eq, Joined, INVALID, keep_symbols, nullptr, 0, DefaultVis, 0, |
139 | "Read a list of symbols from <filename> and run as if --keep-symbol=<symbol> is set for each one. <filename> contains one symbol per line and may contain comments beginning with '#'. Leading and trailing whitespace is stripped from each line. May be repeated to read symbols from many files" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
140 | OPTION(prefix_1, "--keep-symbols" , keep_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
141 | OPTION(prefix_1, "--keep-symbol" , keep_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
142 | OPTION(prefix_1, "--keep-undefined" , keep_undefined, Flag, grp_macho, INVALID, nullptr, 0, DefaultVis, 0, |
143 | "Do not remove undefined symbols" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
144 | OPTION(prefix_2, "-K" , K, JoinedOrSeparate, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0, |
145 | "Alias for --keep-symbol" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
146 | OPTION(prefix_1, "--localize-hidden" , localize_hidden, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
147 | "Mark all symbols that have hidden or internal visibility as local" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
148 | OPTION(prefix_1, "--localize-symbol=" , localize_symbol_eq, Joined, INVALID, localize_symbol, nullptr, 0, DefaultVis, 0, |
149 | "Mark any defined non-common symbol named <symbol> as local" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
150 | OPTION(prefix_1, "--localize-symbols=" , localize_symbols_eq, Joined, INVALID, localize_symbols, nullptr, 0, DefaultVis, 0, |
151 | "Read a list of names from <filename> and mark any defined non-common symbols with those names as local" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
152 | OPTION(prefix_1, "--localize-symbols" , localize_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
153 | OPTION(prefix_1, "--localize-symbol" , localize_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
154 | OPTION(prefix_2, "-L" , L, JoinedOrSeparate, INVALID, localize_symbol, nullptr, 0, DefaultVis, 0, |
155 | "Alias for --localize-symbol" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
156 | OPTION(prefix_1, "--new-symbol-visibility=" , new_symbol_visibility_eq, Joined, INVALID, new_symbol_visibility, nullptr, 0, DefaultVis, 0, |
157 | "Specify the visibility of symbols automatically created when using binary input or --add-symbol. The default is 'default'" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
158 | OPTION(prefix_1, "--new-symbol-visibility" , new_symbol_visibility, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
159 | OPTION(prefix_1, "--no-verify-note-sections" , no_verify_note_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
160 | "Don't validate note sections" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
161 | OPTION(prefix_2, "-N" , N, JoinedOrSeparate, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0, |
162 | "Alias for --strip-symbol" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
163 | OPTION(prefix_1, "--only-keep-debug" , only_keep_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
164 | "Produce a debug file as the output that only preserves contents of sections useful for debugging purposes" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
165 | OPTION(prefix_1, "--only-section=" , only_section_eq, Joined, INVALID, only_section, nullptr, 0, DefaultVis, 0, |
166 | "Remove all but <section>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
167 | OPTION(prefix_1, "--only-section" , only_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
168 | OPTION(prefix_1, "--output-target=" , output_target_eq, Joined, INVALID, output_target, nullptr, 0, DefaultVis, 0, |
169 | "Write the output as the specified format" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "format" , nullptr) |
170 | OPTION(prefix_1, "--output-target" , output_target, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "format" , nullptr) |
171 | OPTION(prefix_2, "-O" , O, JoinedOrSeparate, INVALID, output_target, nullptr, 0, DefaultVis, 0, |
172 | "Alias for --output-target" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
173 | OPTION(prefix_1, "--pad-to=" , pad_to_eq, Joined, INVALID, pad_to, nullptr, 0, DefaultVis, 0, |
174 | "Pad the output up to the load address <address>, using a value of zero or the value specified by the --gap-fill option. This option is only supported for ELF input and binary output" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "address" , nullptr) |
175 | OPTION(prefix_1, "--pad-to" , pad_to, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "address" , nullptr) |
176 | OPTION(prefix_1, "--prefix-alloc-sections=" , prefix_alloc_sections_eq, Joined, INVALID, prefix_alloc_sections, nullptr, 0, DefaultVis, 0, |
177 | "Add <prefix> to the start of every allocated section name" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "prefix" , nullptr) |
178 | OPTION(prefix_1, "--prefix-alloc-sections" , prefix_alloc_sections, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "prefix" , nullptr) |
179 | OPTION(prefix_1, "--prefix-symbols=" , prefix_symbols_eq, Joined, INVALID, prefix_symbols, nullptr, 0, DefaultVis, 0, |
180 | "Add <prefix> to the start of every symbol name" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "prefix" , nullptr) |
181 | OPTION(prefix_1, "--prefix-symbols" , prefix_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "prefix" , nullptr) |
182 | OPTION(prefix_1, "--preserve-dates" , preserve_dates, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
183 | "Preserve access and modification timestamps" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
184 | OPTION(prefix_2, "-p" , p, Flag, INVALID, preserve_dates, nullptr, 0, DefaultVis, 0, |
185 | "Alias for --preserve-dates" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
186 | OPTION(prefix_1, "--redefine-sym=" , redefine_symbol_eq, Joined, INVALID, redefine_symbol, nullptr, 0, DefaultVis, 0, |
187 | "Change the name of a symbol old to new" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "old=new" , nullptr) |
188 | OPTION(prefix_1, "--redefine-syms=" , redefine_symbols_eq, Joined, INVALID, redefine_symbols, nullptr, 0, DefaultVis, 0, |
189 | "Read a list of symbol pairs from <filename> and run as if --redefine-sym=<old>=<new> is set for each one. <filename> contains two symbols per line separated with whitespace and may contain comments beginning with '#'. Leading and trailing whitespace is stripped from each line. May be repeated to read symbols from many files" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
190 | OPTION(prefix_1, "--redefine-syms" , redefine_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
191 | OPTION(prefix_1, "--redefine-sym" , redefine_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "old=new" , nullptr) |
192 | OPTION(prefix_1, "--regex" , regex, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
193 | "Permit regular expressions in name comparison" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
194 | OPTION(prefix_1, "--remove-section=" , remove_section_eq, Joined, INVALID, remove_section, nullptr, 0, DefaultVis, 0, |
195 | "Remove <section>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
196 | OPTION(prefix_1, "--remove-section" , remove_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
197 | OPTION(prefix_1, "--remove-symbol-prefix=" , remove_symbol_prefix_eq, Joined, INVALID, remove_symbol_prefix, nullptr, 0, DefaultVis, 0, |
198 | "Remove <prefix> from the start of every symbol name. No-op for symbols that do not start with <prefix>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "prefix" , nullptr) |
199 | OPTION(prefix_1, "--remove-symbol-prefix" , remove_symbol_prefix, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "prefix" , nullptr) |
200 | OPTION(prefix_1, "--rename-section=" , rename_section_eq, Joined, INVALID, rename_section, nullptr, 0, DefaultVis, 0, |
201 | "Rename sections called <old> to <new>, and apply any specified <flag> values. See --set-section-flags for a list of supported flags" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "old=new[,flag1,...]" , nullptr) |
202 | OPTION(prefix_1, "--rename-section" , rename_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "old=new[,flag1,...]" , nullptr) |
203 | OPTION(prefix_2, "-R" , R, JoinedOrSeparate, INVALID, remove_section, nullptr, 0, DefaultVis, 0, |
204 | "Alias for --remove-section" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
205 | OPTION(prefix_1, "--set-section-alignment=" , set_section_alignment_eq, Joined, INVALID, set_section_alignment, nullptr, 0, DefaultVis, 0, |
206 | "Set alignment for a given section" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=align" , nullptr) |
207 | OPTION(prefix_1, "--set-section-alignment" , set_section_alignment, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=align" , nullptr) |
208 | OPTION(prefix_1, "--set-section-flags=" , set_section_flags_eq, Joined, INVALID, set_section_flags, nullptr, 0, DefaultVis, 0, |
209 | "Set section properties based on the specified <flags>. Supported flag names are: alloc, load, noload, readonly, exclude, debug, code, data, rom, share, contents, merge, strings, large" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=flag1[,flag2,...]" , nullptr) |
210 | OPTION(prefix_1, "--set-section-flags" , set_section_flags, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=flag1[,flag2,...]" , nullptr) |
211 | OPTION(prefix_1, "--set-section-type=" , set_section_type_eq, Joined, INVALID, set_section_type, nullptr, 0, DefaultVis, 0, |
212 | "Set the type of section <section> to the integer <type>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=type" , nullptr) |
213 | OPTION(prefix_1, "--set-section-type" , set_section_type, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section=type" , nullptr) |
214 | OPTION(prefix_1, "--set-start=" , set_start_eq, Joined, INVALID, set_start, nullptr, 0, DefaultVis, 0, |
215 | "Set the start address to <addr>. Overrides any previous --change-start or --adjust-start values" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "addr" , nullptr) |
216 | OPTION(prefix_1, "--set-start" , set_start, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "addr" , nullptr) |
217 | OPTION(prefix_1, "--set-symbol-visibility=" , set_symbol_visibility_eq, Joined, INVALID, set_symbol_visibility, nullptr, 0, DefaultVis, 0, |
218 | "Change the visibility of a symbol to the specified value" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol=visibility" , nullptr) |
219 | OPTION(prefix_1, "--set-symbol-visibility" , set_symbol_visibility, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol=visibility" , nullptr) |
220 | OPTION(prefix_1, "--set-symbols-visibility=" , set_symbols_visibility_eq, Joined, INVALID, set_symbols_visibility, nullptr, 0, DefaultVis, 0, |
221 | "Read a list of symbols from <filename> and change their visibility to the specified value. Visibility values: default, internal, hidden, protected" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename=visibility" , nullptr) |
222 | OPTION(prefix_1, "--set-symbols-visibility" , set_symbols_visibility, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename=visibility" , nullptr) |
223 | OPTION(prefix_1, "--skip-symbol=" , skip_symbol_eq, Joined, INVALID, skip_symbol, nullptr, 0, DefaultVis, 0, |
224 | "Do not change parameters of symbol <symbol> when executing other options that can change the symbol's name, binding or visibility" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
225 | OPTION(prefix_1, "--skip-symbols=" , skip_symbols_eq, Joined, INVALID, skip_symbols, nullptr, 0, DefaultVis, 0, |
226 | "Read a list of symbols from <filename> and run as if --skip-symbol=<symbol> is set for each one. <filename> contains one symbol per line and may contain comments beginning with '#'. Leading and trailing whitespace is stripped from each line. May be repeated to read symbols from many files" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
227 | OPTION(prefix_1, "--skip-symbols" , skip_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
228 | OPTION(prefix_1, "--skip-symbol" , skip_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
229 | OPTION(prefix_1, "--split-dwo=" , split_dwo_eq, Joined, INVALID, split_dwo, nullptr, 0, DefaultVis, 0, |
230 | "Equivalent to --extract-dwo and <dwo-file> as the output file and no other options, and then --strip-dwo on the input file" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "dwo-file" , nullptr) |
231 | OPTION(prefix_1, "--split-dwo" , split_dwo, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "dwo-file" , nullptr) |
232 | OPTION(prefix_1, "--strip-all-gnu" , strip_all_gnu, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
233 | "Remove all symbols, debug sections and relocations. Compatible with GNU's --strip-all" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
234 | OPTION(prefix_1, "--strip-all" , strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
235 | "For ELF, remove all symbols and non-alloc sections not within segments, except for .gnu.warning*, .ARM.attribute, and the section name table. For COFF and Mach-O, remove all symbols, debug sections, and relocations" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
236 | OPTION(prefix_1, "--strip-debug" , strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
237 | "Remove all debug sections" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
238 | OPTION(prefix_1, "--strip-dwo" , strip_dwo, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
239 | "Remove all DWARF .dwo sections" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
240 | OPTION(prefix_1, "--strip-non-alloc" , strip_non_alloc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
241 | "Remove all non-allocated sections that are not within segments" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
242 | OPTION(prefix_1, "--strip-sections" , strip_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
243 | "Remove all section headers and all section data not within segments" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
244 | OPTION(prefix_1, "--strip-symbol=" , strip_symbol_eq, Joined, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0, |
245 | "Strip <symbol>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
246 | OPTION(prefix_1, "--strip-symbols=" , strip_symbols_eq, Joined, INVALID, strip_symbols, nullptr, 0, DefaultVis, 0, |
247 | "Remove all symbols whose names appear in the file <filename>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
248 | OPTION(prefix_1, "--strip-symbols" , strip_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
249 | OPTION(prefix_1, "--strip-symbol" , strip_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
250 | OPTION(prefix_1, "--strip-unneeded-symbol=" , strip_unneeded_symbol_eq, Joined, INVALID, strip_unneeded_symbol, nullptr, 0, DefaultVis, 0, |
251 | "Remove all symbols named <symbol> that are local or undefined and are not required by any relocation" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
252 | OPTION(prefix_1, "--strip-unneeded-symbols=" , strip_unneeded_symbols_eq, Joined, INVALID, strip_unneeded_symbols, nullptr, 0, DefaultVis, 0, |
253 | "Remove all symbols whose names appear in the file <file>, if they are local or undefined and are not required by any relocation" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
254 | OPTION(prefix_1, "--strip-unneeded-symbols" , strip_unneeded_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
255 | OPTION(prefix_1, "--strip-unneeded-symbol" , strip_unneeded_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
256 | OPTION(prefix_1, "--strip-unneeded" , strip_unneeded, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
257 | "Remove all symbols not needed by relocations" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
258 | OPTION(prefix_1, "--subsystem=" , subsystem_eq, Joined, grp_coff, subsystem, nullptr, 0, DefaultVis, 0, |
259 | "Set the PE subsystem, and optionally subsystem version" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name[:version]" , nullptr) |
260 | OPTION(prefix_1, "--subsystem" , subsystem, Separate, grp_coff, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name[:version]" , nullptr) |
261 | OPTION(prefix_2, "-S" , S, Flag, INVALID, strip_all, nullptr, 0, DefaultVis, 0, |
262 | "Alias for --strip-all" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
263 | OPTION(prefix_1, "--target=" , target_eq, Joined, INVALID, target, nullptr, 0, DefaultVis, 0, |
264 | "Equivalent to --input-target and --output-target for the specified format" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "binary" ) |
265 | OPTION(prefix_1, "--target" , target, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "binary" ) |
266 | OPTION(prefix_1, "--update-section=" , update_section_eq, Joined, INVALID, update_section, nullptr, 0, DefaultVis, 0, |
267 | "Replace the contents of section <name> with contents from a file <file>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name=file" , nullptr) |
268 | OPTION(prefix_1, "--update-section" , update_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "name=file" , nullptr) |
269 | OPTION(prefix_2, "-U" , U, Flag, INVALID, disable_deterministic_archives, nullptr, 0, DefaultVis, 0, |
270 | "Alias for --disable-deterministic-archives" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
271 | OPTION(prefix_1, "--verify-note-sections" , verify_note_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
272 | "Validate note sections" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
273 | OPTION(prefix_1, "--version" , version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
274 | "Print the version and exit." , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
275 | OPTION(prefix_2, "-V" , V, Flag, INVALID, version, nullptr, 0, DefaultVis, 0, |
276 | "Alias for --version" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
277 | OPTION(prefix_1, "--weaken-symbol=" , weaken_symbol_eq, Joined, INVALID, weaken_symbol, nullptr, 0, DefaultVis, 0, |
278 | "Mark global symbols named <symbol> as weak" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
279 | OPTION(prefix_1, "--weaken-symbols=" , weaken_symbols_eq, Joined, INVALID, weaken_symbols, nullptr, 0, DefaultVis, 0, |
280 | "Read a list of symbols from <filename> and mark global symbols with those names as weak" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
281 | OPTION(prefix_1, "--weaken-symbols" , weaken_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "filename" , nullptr) |
282 | OPTION(prefix_1, "--weaken-symbol" , weaken_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
283 | OPTION(prefix_1, "--weaken" , weaken, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
284 | "Mark all defined global symbols as weak" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
285 | OPTION(prefix_1, "--wildcard" , wildcard, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
286 | "Allow wildcard syntax for symbol-related flags. Incompatible with --regex. Allows using '*' to match any number of characters, '?' to match any single character, '' to escape special characters, and '[]' to define character classes. Wildcards beginning with '!' will prevent a match, for example \"-N '*' -N '!x'\" will strip all symbols except for \"x\"." , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
287 | OPTION(prefix_2, "-W" , W, JoinedOrSeparate, INVALID, weaken_symbol, nullptr, 0, DefaultVis, 0, |
288 | "Alias for --weaken-symbol" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
289 | OPTION(prefix_2, "-w" , w, Flag, INVALID, wildcard, nullptr, 0, DefaultVis, 0, |
290 | "Alias for --wildcard" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
291 | OPTION(prefix_2, "-X" , X, Flag, INVALID, discard_locals, nullptr, 0, DefaultVis, 0, |
292 | "Alias for --discard-locals" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
293 | OPTION(prefix_2, "-x" , x, Flag, INVALID, discard_all, nullptr, 0, DefaultVis, 0, |
294 | "Alias for --discard-all" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
295 | #endif // OPTION |
296 | |
297 | #ifdef SIMPLE_ENUM_VALUE_TABLE |
298 | |
299 | struct SimpleEnumValue { |
300 | const char *Name; |
301 | unsigned Value; |
302 | }; |
303 | |
304 | struct SimpleEnumValueTable { |
305 | const SimpleEnumValue *Table; |
306 | unsigned Size; |
307 | }; |
308 | static const SimpleEnumValueTable SimpleEnumValueTables[] = {}; |
309 | static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables); |
310 | #endif // SIMPLE_ENUM_VALUE_TABLE |
311 | |
312 | |
313 | |