1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Option Parsing Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9/////////
10// String table
11
12#ifdef OPTTABLE_STR_TABLE_CODE
13
14#ifdef __GNUC__
15#pragma GCC diagnostic push
16#pragma GCC diagnostic ignored "-Woverlength-strings"
17#endif
18static constexpr char OptionStrTableStorage[] =
19 "\0"
20 "-\0"
21 "--\0"
22 "kind\0"
23 "<input>\0"
24 "<unknown>\0"
25 "--add-gnu-debuglink=\0"
26 "--add-gnu-debuglink\0"
27 "--add-section=\0"
28 "--add-section\0"
29 "--add-symbol=\0"
30 "--add-symbol\0"
31 "--adjust-section-vma\0"
32 "--adjust-start\0"
33 "--allow-broken-links\0"
34 "--binary-architecture=\0"
35 "--binary-architecture\0"
36 "-B\0"
37 "--change-section-address=\0"
38 "--change-section-address\0"
39 "--change-section-lma=\0"
40 "--change-section-lma\0"
41 "--change-start=\0"
42 "--change-start\0"
43 "--compress-debug-sections=\0"
44 "--compress-debug-sections\0"
45 "--compress-sections=\0"
46 "--compress-sections\0"
47 "--decompress-debug-sections\0"
48 "--disable-deterministic-archives\0"
49 "--discard-all\0"
50 "--discard-locals\0"
51 "--dump-section=\0"
52 "--dump-section\0"
53 "-D\0"
54 "--enable-deterministic-archives\0"
55 "--extract-dwo\0"
56 "--extract-main-partition\0"
57 "--extract-partition=\0"
58 "--extract-partition\0"
59 "--extract-section=\0"
60 "--extract-section\0"
61 "-F\0"
62 "--gap-fill=\0"
63 "--gap-fill\0"
64 "--globalize-symbol=\0"
65 "--globalize-symbols=\0"
66 "--globalize-symbols\0"
67 "--globalize-symbol\0"
68 "-G\0"
69 "-g\0"
70 "--help\0"
71 "-h\0"
72 "--input-target=\0"
73 "--input-target\0"
74 "-I\0"
75 "-j\0"
76 "--keep-file-symbols\0"
77 "--keep-global-symbol=\0"
78 "--keep-global-symbols=\0"
79 "--keep-global-symbols\0"
80 "--keep-global-symbol\0"
81 "--keep-section=\0"
82 "--keep-section\0"
83 "--keep-symbol=\0"
84 "--keep-symbols=\0"
85 "--keep-symbols\0"
86 "--keep-symbol\0"
87 "--keep-undefined\0"
88 "-K\0"
89 "--localize-hidden\0"
90 "--localize-symbol=\0"
91 "--localize-symbols=\0"
92 "--localize-symbols\0"
93 "--localize-symbol\0"
94 "-L\0"
95 "--new-symbol-visibility=\0"
96 "--new-symbol-visibility\0"
97 "--no-verify-note-sections\0"
98 "-N\0"
99 "--only-keep-debug\0"
100 "--only-section=\0"
101 "--only-section\0"
102 "--output-target=\0"
103 "--output-target\0"
104 "-O\0"
105 "--pad-to=\0"
106 "--pad-to\0"
107 "--prefix-alloc-sections=\0"
108 "--prefix-alloc-sections\0"
109 "--prefix-symbols=\0"
110 "--prefix-symbols\0"
111 "--preserve-dates\0"
112 "-p\0"
113 "--redefine-sym=\0"
114 "--redefine-syms=\0"
115 "--redefine-syms\0"
116 "--redefine-sym\0"
117 "--regex\0"
118 "--remove-note=\0"
119 "--remove-note\0"
120 "--remove-section=\0"
121 "--remove-section\0"
122 "--remove-symbol-prefix=\0"
123 "--remove-symbol-prefix\0"
124 "--rename-section=\0"
125 "--rename-section\0"
126 "-R\0"
127 "--set-section-alignment=\0"
128 "--set-section-alignment\0"
129 "--set-section-flags=\0"
130 "--set-section-flags\0"
131 "--set-section-type=\0"
132 "--set-section-type\0"
133 "--set-start=\0"
134 "--set-start\0"
135 "--set-symbol-visibility=\0"
136 "--set-symbol-visibility\0"
137 "--set-symbols-visibility=\0"
138 "--set-symbols-visibility\0"
139 "--skip-symbol=\0"
140 "--skip-symbols=\0"
141 "--skip-symbols\0"
142 "--skip-symbol\0"
143 "--split-dwo=\0"
144 "--split-dwo\0"
145 "--strip-all-gnu\0"
146 "--strip-all\0"
147 "--strip-debug\0"
148 "--strip-dwo\0"
149 "--strip-non-alloc\0"
150 "--strip-sections\0"
151 "--strip-symbol=\0"
152 "--strip-symbols=\0"
153 "--strip-symbols\0"
154 "--strip-symbol\0"
155 "--strip-unneeded-symbol=\0"
156 "--strip-unneeded-symbols=\0"
157 "--strip-unneeded-symbols\0"
158 "--strip-unneeded-symbol\0"
159 "--strip-unneeded\0"
160 "--subsystem=\0"
161 "--subsystem\0"
162 "-S\0"
163 "--target=\0"
164 "--target\0"
165 "--update-section=\0"
166 "--update-section\0"
167 "-U\0"
168 "--verify-note-sections\0"
169 "--version\0"
170 "-V\0"
171 "--weaken-symbol=\0"
172 "--weaken-symbols=\0"
173 "--weaken-symbols\0"
174 "--weaken-symbol\0"
175 "--weaken\0"
176 "--wildcard\0"
177 "-W\0"
178 "-w\0"
179 "-X\0"
180 "-x\0"
181 ;
182#ifdef __GNUC__
183#pragma GCC diagnostic pop
184#endif
185
186static constexpr llvm::StringTable
187OptionStrTable = OptionStrTableStorage;
188#endif // OPTTABLE_STR_TABLE_CODE
189
190/////////
191// Prefixes
192
193#ifdef OPTTABLE_PREFIXES_TABLE_CODE
194static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = {
195 0 /* prefixes */,
196 1 /* prefixes */, 1 /* '-' */,
197 1 /* prefixes */, 3 /* '--' */
198};
199#endif // OPTTABLE_PREFIXES_TABLE_CODE
200
201/////////// SubCommand IDs
202
203#ifdef OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE
204static constexpr unsigned OptionSubCommandIDsTable[] = {
205 0 /* subcommands */
206};
207#endif // OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE
208
209/////////
210// Prefix Union
211
212#ifdef OPTTABLE_PREFIXES_UNION_CODE
213static constexpr llvm::StringTable::Offset OptionPrefixesUnion[] = {
214 1 /* '-' */, 3 /* '--' */
215};
216#endif // OPTTABLE_PREFIXES_UNION_CODE
217
218/////////
219// ValuesCode
220
221#ifdef OPTTABLE_VALUES_CODE
222#endif
223/////////
224// Groups
225
226#ifdef OPTION
227OPTION(0 /* no prefixes */, 6 /* kind */, grp_coff, Group, INVALID, INVALID, nullptr, 0, 0, 0,
228 "OPTIONS (COFF specific)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
229OPTION(0 /* no prefixes */, 6 /* kind */, grp_macho, Group, INVALID, INVALID, nullptr, 0, 0, 0,
230 "OPTIONS (Mach-O specific)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
231
232//////////
233// Options
234
235OPTION(0, 11 /* <input> */, INPUT, Input, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
236OPTION(0, 19 /* <unknown> */, UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
237OPTION(3, 29 /* --add-gnu-debuglink= */, add_gnu_debuglink_eq, Joined, INVALID, add_gnu_debuglink, nullptr, 0, DefaultVis, 0,
238 "Add a .gnu_debuglink for <debug-file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "debug-file", nullptr, 0)
239OPTION(3, 50 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "debug-file", nullptr, 0)
240OPTION(3, 70 /* --add-section= */, add_section_eq, Joined, INVALID, add_section, nullptr, 0, DefaultVis, 0,
241 "Add a section named <section> with the contents of <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
242OPTION(3, 85 /* --add-section */, add_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
243OPTION(3, 99 /* --add-symbol= */, add_symbol_eq, Joined, INVALID, add_symbol, nullptr, 0, DefaultVis, 0,
244 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name=[section:]value[,flags]", nullptr, 0)
245OPTION(3, 113 /* --add-symbol */, add_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name=[section:]value[,flags]", nullptr, 0)
246OPTION(3, 126 /* --adjust-section-vma */, adjust_section_vma, JoinedOrSeparate, INVALID, change_section_address, nullptr, 0, DefaultVis, 0,
247 "Alias for --change-section-address", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
248OPTION(3, 147 /* --adjust-start */, adjust_start, JoinedOrSeparate, INVALID, change_start, nullptr, 0, DefaultVis, 0,
249 "Alias for --change-start", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
250OPTION(3, 162 /* --allow-broken-links */, allow_broken_links, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
251 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
252OPTION(3, 183 /* --binary-architecture= */, binary_architecture_eq, Joined, INVALID, binary_architecture, nullptr, 0, DefaultVis, 0,
253 "Ignored for compatibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
254OPTION(3, 206 /* --binary-architecture */, binary_architecture, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
255OPTION(1, 228 /* -B */, B, JoinedOrSeparate, INVALID, binary_architecture, nullptr, 0, DefaultVis, 0,
256 "Alias for --binary-architecture", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
257OPTION(3, 231 /* --change-section-address= */, change_section_address_eq, Joined, INVALID, change_section_address, nullptr, 0, DefaultVis, 0,
258 "Set the address of the <section> to, or adjust it by, <val>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "sectionpattern{=|+|-}val", nullptr, 0)
259OPTION(3, 257 /* --change-section-address */, change_section_address, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "sectionpattern{=|+|-}val", nullptr, 0)
260OPTION(3, 282 /* --change-section-lma= */, change_section_lma_eq, Joined, INVALID, change_section_lma, nullptr, 0, DefaultVis, 0,
261 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "*{+|-}val", nullptr, 0)
262OPTION(3, 304 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "*{+|-}val", nullptr, 0)
263OPTION(3, 325 /* --change-start= */, change_start_eq, Joined, INVALID, change_start, nullptr, 0, DefaultVis, 0,
264 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "incr", nullptr, 0)
265OPTION(3, 341 /* --change-start */, change_start, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "incr", nullptr, 0)
266OPTION(3, 356 /* --compress-debug-sections= */, compress_debug_sections, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
267 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "format", nullptr, 0)
268OPTION(3, 383 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
269OPTION(3, 409 /* --compress-sections= */, compress_sections_eq, Joined, INVALID, compress_sections, nullptr, 0, DefaultVis, 0,
270 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<section-glob>=<format>", nullptr, 0)
271OPTION(3, 430 /* --compress-sections */, compress_sections, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<section-glob>=<format>", nullptr, 0)
272OPTION(3, 450 /* --decompress-debug-sections */, decompress_debug_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
273 "Decompress DWARF debug sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
274OPTION(3, 478 /* --disable-deterministic-archives */, disable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
275 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
276OPTION(3, 511 /* --discard-all */, discard_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
277 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
278OPTION(3, 525 /* --discard-locals */, discard_locals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
279 "Remove local symbols starting with .L", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
280OPTION(3, 542 /* --dump-section= */, dump_section_eq, Joined, INVALID, dump_section, nullptr, 0, DefaultVis, 0,
281 "Dump contents of section named <section> into file <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
282OPTION(3, 558 /* --dump-section */, dump_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
283OPTION(1, 573 /* -D */, D, Flag, INVALID, enable_deterministic_archives, nullptr, 0, DefaultVis, 0,
284 "Alias for --enable-deterministic-archives", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
285OPTION(3, 576 /* --enable-deterministic-archives */, enable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
286 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
287OPTION(3, 608 /* --extract-dwo */, extract_dwo, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
288 "Remove all sections that are not DWARF .dwo sections from file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
289OPTION(3, 622 /* --extract-main-partition */, extract_main_partition, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
290 "Extract main partition from the input file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
291OPTION(3, 647 /* --extract-partition= */, extract_partition_eq, Joined, INVALID, extract_partition, nullptr, 0, DefaultVis, 0,
292 "Extract named partition from input file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name", nullptr, 0)
293OPTION(3, 668 /* --extract-partition */, extract_partition, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name", nullptr, 0)
294OPTION(3, 688 /* --extract-section= */, extract_section_eq, Joined, INVALID, extract_section, nullptr, 0, DefaultVis, 0,
295 "Extract section named <section> into standalone object in file <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
296OPTION(3, 707 /* --extract-section */, extract_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
297OPTION(1, 725 /* -F */, F, JoinedOrSeparate, INVALID, target, nullptr, 0, DefaultVis, 0,
298 "Alias for --target", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
299OPTION(3, 728 /* --gap-fill= */, gap_fill_eq, Joined, INVALID, gap_fill, nullptr, 0, DefaultVis, 0,
300 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "value", nullptr, 0)
301OPTION(3, 740 /* --gap-fill */, gap_fill, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "value", nullptr, 0)
302OPTION(3, 751 /* --globalize-symbol= */, globalize_symbol_eq, Joined, INVALID, globalize_symbol, nullptr, 0, DefaultVis, 0,
303 "Mark <symbol> as global", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
304OPTION(3, 771 /* --globalize-symbols= */, globalize_symbols_eq, Joined, INVALID, globalize_symbols, nullptr, 0, DefaultVis, 0,
305 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
306OPTION(3, 792 /* --globalize-symbols */, globalize_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
307OPTION(3, 812 /* --globalize-symbol */, globalize_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
308OPTION(1, 831 /* -G */, G, JoinedOrSeparate, INVALID, keep_global_symbol, nullptr, 0, DefaultVis, 0,
309 "Alias for --keep-global-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
310OPTION(1, 834 /* -g */, g, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
311 "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
312OPTION(3, 837 /* --help */, help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
313OPTION(1, 844 /* -h */, h, Flag, INVALID, help, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
314OPTION(3, 847 /* --input-target= */, input_target_eq, Joined, INVALID, input_target, nullptr, 0, DefaultVis, 0,
315 "Read the input as the specified format", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "format", nullptr, 0)
316OPTION(3, 863 /* --input-target */, input_target, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "format", nullptr, 0)
317OPTION(1, 878 /* -I */, I, JoinedOrSeparate, INVALID, input_target, nullptr, 0, DefaultVis, 0,
318 "Alias for --input-target", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
319OPTION(1, 881 /* -j */, j, JoinedOrSeparate, INVALID, only_section, nullptr, 0, DefaultVis, 0,
320 "Alias for --only-section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
321OPTION(3, 884 /* --keep-file-symbols */, keep_file_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
322 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
323OPTION(3, 904 /* --keep-global-symbol= */, keep_global_symbol_eq, Joined, INVALID, keep_global_symbol, nullptr, 0, DefaultVis, 0,
324 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
325OPTION(3, 926 /* --keep-global-symbols= */, keep_global_symbols_eq, Joined, INVALID, keep_global_symbols, nullptr, 0, DefaultVis, 0,
326 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
327OPTION(3, 949 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
328OPTION(3, 971 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
329OPTION(3, 992 /* --keep-section= */, keep_section_eq, Joined, INVALID, keep_section, nullptr, 0, DefaultVis, 0,
330 "Keep <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
331OPTION(3, 1008 /* --keep-section */, keep_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
332OPTION(3, 1023 /* --keep-symbol= */, keep_symbol_eq, Joined, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
333 "When removing symbols, do not remove <symbol>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
334OPTION(3, 1038 /* --keep-symbols= */, keep_symbols_eq, Joined, INVALID, keep_symbols, nullptr, 0, DefaultVis, 0,
335 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
336OPTION(3, 1054 /* --keep-symbols */, keep_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
337OPTION(3, 1069 /* --keep-symbol */, keep_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
338OPTION(3, 1083 /* --keep-undefined */, keep_undefined, Flag, grp_macho, INVALID, nullptr, 0, DefaultVis, 0,
339 "Do not remove undefined symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
340OPTION(1, 1100 /* -K */, K, JoinedOrSeparate, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
341 "Alias for --keep-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
342OPTION(3, 1103 /* --localize-hidden */, localize_hidden, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
343 "Mark all symbols that have hidden or internal visibility as local", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
344OPTION(3, 1121 /* --localize-symbol= */, localize_symbol_eq, Joined, INVALID, localize_symbol, nullptr, 0, DefaultVis, 0,
345 "Mark any defined non-common symbol named <symbol> as local", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
346OPTION(3, 1140 /* --localize-symbols= */, localize_symbols_eq, Joined, INVALID, localize_symbols, nullptr, 0, DefaultVis, 0,
347 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
348OPTION(3, 1160 /* --localize-symbols */, localize_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
349OPTION(3, 1179 /* --localize-symbol */, localize_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
350OPTION(1, 1197 /* -L */, L, JoinedOrSeparate, INVALID, localize_symbol, nullptr, 0, DefaultVis, 0,
351 "Alias for --localize-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
352OPTION(3, 1200 /* --new-symbol-visibility= */, new_symbol_visibility_eq, Joined, INVALID, new_symbol_visibility, nullptr, 0, DefaultVis, 0,
353 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
354OPTION(3, 1225 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
355OPTION(3, 1249 /* --no-verify-note-sections */, no_verify_note_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
356 "Don't validate note sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
357OPTION(1, 1275 /* -N */, N, JoinedOrSeparate, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
358 "Alias for --strip-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
359OPTION(3, 1278 /* --only-keep-debug */, only_keep_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
360 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
361OPTION(3, 1296 /* --only-section= */, only_section_eq, Joined, INVALID, only_section, nullptr, 0, DefaultVis, 0,
362 "Remove all but <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
363OPTION(3, 1312 /* --only-section */, only_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
364OPTION(3, 1327 /* --output-target= */, output_target_eq, Joined, INVALID, output_target, nullptr, 0, DefaultVis, 0,
365 "Write the output as the specified format", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "format", nullptr, 0)
366OPTION(3, 1344 /* --output-target */, output_target, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "format", nullptr, 0)
367OPTION(1, 1360 /* -O */, O, JoinedOrSeparate, INVALID, output_target, nullptr, 0, DefaultVis, 0,
368 "Alias for --output-target", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
369OPTION(3, 1363 /* --pad-to= */, pad_to_eq, Joined, INVALID, pad_to, nullptr, 0, DefaultVis, 0,
370 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "address", nullptr, 0)
371OPTION(3, 1373 /* --pad-to */, pad_to, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "address", nullptr, 0)
372OPTION(3, 1382 /* --prefix-alloc-sections= */, prefix_alloc_sections_eq, Joined, INVALID, prefix_alloc_sections, nullptr, 0, DefaultVis, 0,
373 "Add <prefix> to the start of every allocated section name", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "prefix", nullptr, 0)
374OPTION(3, 1407 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "prefix", nullptr, 0)
375OPTION(3, 1431 /* --prefix-symbols= */, prefix_symbols_eq, Joined, INVALID, prefix_symbols, nullptr, 0, DefaultVis, 0,
376 "Add <prefix> to the start of every symbol name", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "prefix", nullptr, 0)
377OPTION(3, 1449 /* --prefix-symbols */, prefix_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "prefix", nullptr, 0)
378OPTION(3, 1466 /* --preserve-dates */, preserve_dates, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
379 "Preserve access and modification timestamps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
380OPTION(1, 1483 /* -p */, p, Flag, INVALID, preserve_dates, nullptr, 0, DefaultVis, 0,
381 "Alias for --preserve-dates", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
382OPTION(3, 1486 /* --redefine-sym= */, redefine_symbol_eq, Joined, INVALID, redefine_symbol, nullptr, 0, DefaultVis, 0,
383 "Change the name of a symbol old to new", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "old=new", nullptr, 0)
384OPTION(3, 1502 /* --redefine-syms= */, redefine_symbols_eq, Joined, INVALID, redefine_symbols, nullptr, 0, DefaultVis, 0,
385 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
386OPTION(3, 1519 /* --redefine-syms */, redefine_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
387OPTION(3, 1535 /* --redefine-sym */, redefine_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "old=new", nullptr, 0)
388OPTION(3, 1550 /* --regex */, regex, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
389 "Permit regular expressions in name comparison", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
390OPTION(3, 1558 /* --remove-note= */, remove_note_eq, Joined, INVALID, remove_note, nullptr, 0, DefaultVis, 0,
391 "Remove note(s) with <type_id> and optional <name>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "[name/]type_id", nullptr, 0)
392OPTION(3, 1573 /* --remove-note */, remove_note, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "[name/]type_id", nullptr, 0)
393OPTION(3, 1587 /* --remove-section= */, remove_section_eq, Joined, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
394 "Remove <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
395OPTION(3, 1605 /* --remove-section */, remove_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
396OPTION(3, 1622 /* --remove-symbol-prefix= */, remove_symbol_prefix_eq, Joined, INVALID, remove_symbol_prefix, nullptr, 0, DefaultVis, 0,
397 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "prefix", nullptr, 0)
398OPTION(3, 1646 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "prefix", nullptr, 0)
399OPTION(3, 1669 /* --rename-section= */, rename_section_eq, Joined, INVALID, rename_section, nullptr, 0, DefaultVis, 0,
400 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "old=new[,flag1,...]", nullptr, 0)
401OPTION(3, 1687 /* --rename-section */, rename_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "old=new[,flag1,...]", nullptr, 0)
402OPTION(1, 1704 /* -R */, R, JoinedOrSeparate, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
403 "Alias for --remove-section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
404OPTION(3, 1707 /* --set-section-alignment= */, set_section_alignment_eq, Joined, INVALID, set_section_alignment, nullptr, 0, DefaultVis, 0,
405 "Set alignment for a given section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=align", nullptr, 0)
406OPTION(3, 1732 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=align", nullptr, 0)
407OPTION(3, 1756 /* --set-section-flags= */, set_section_flags_eq, Joined, INVALID, set_section_flags, nullptr, 0, DefaultVis, 0,
408 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=flag1[,flag2,...]", nullptr, 0)
409OPTION(3, 1777 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=flag1[,flag2,...]", nullptr, 0)
410OPTION(3, 1797 /* --set-section-type= */, set_section_type_eq, Joined, INVALID, set_section_type, nullptr, 0, DefaultVis, 0,
411 "Set the type of section <section> to the integer <type>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=type", nullptr, 0)
412OPTION(3, 1817 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=type", nullptr, 0)
413OPTION(3, 1836 /* --set-start= */, set_start_eq, Joined, INVALID, set_start, nullptr, 0, DefaultVis, 0,
414 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "addr", nullptr, 0)
415OPTION(3, 1849 /* --set-start */, set_start, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "addr", nullptr, 0)
416OPTION(3, 1861 /* --set-symbol-visibility= */, set_symbol_visibility_eq, Joined, INVALID, set_symbol_visibility, nullptr, 0, DefaultVis, 0,
417 "Change the visibility of a symbol to the specified value", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol=visibility", nullptr, 0)
418OPTION(3, 1886 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol=visibility", nullptr, 0)
419OPTION(3, 1910 /* --set-symbols-visibility= */, set_symbols_visibility_eq, Joined, INVALID, set_symbols_visibility, nullptr, 0, DefaultVis, 0,
420 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename=visibility", nullptr, 0)
421OPTION(3, 1936 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename=visibility", nullptr, 0)
422OPTION(3, 1961 /* --skip-symbol= */, skip_symbol_eq, Joined, INVALID, skip_symbol, nullptr, 0, DefaultVis, 0,
423 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
424OPTION(3, 1976 /* --skip-symbols= */, skip_symbols_eq, Joined, INVALID, skip_symbols, nullptr, 0, DefaultVis, 0,
425 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
426OPTION(3, 1992 /* --skip-symbols */, skip_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
427OPTION(3, 2007 /* --skip-symbol */, skip_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
428OPTION(3, 2021 /* --split-dwo= */, split_dwo_eq, Joined, INVALID, split_dwo, nullptr, 0, DefaultVis, 0,
429 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "dwo-file", nullptr, 0)
430OPTION(3, 2034 /* --split-dwo */, split_dwo, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "dwo-file", nullptr, 0)
431OPTION(3, 2046 /* --strip-all-gnu */, strip_all_gnu, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
432 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
433OPTION(3, 2062 /* --strip-all */, strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
434 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
435OPTION(3, 2074 /* --strip-debug */, strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
436 "Remove all debug sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
437OPTION(3, 2088 /* --strip-dwo */, strip_dwo, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
438 "Remove all DWARF .dwo sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
439OPTION(3, 2100 /* --strip-non-alloc */, strip_non_alloc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
440 "Remove all non-allocated sections that are not within segments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
441OPTION(3, 2118 /* --strip-sections */, strip_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
442 "Remove all section headers and all section data not within segments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
443OPTION(3, 2135 /* --strip-symbol= */, strip_symbol_eq, Joined, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
444 "Strip <symbol>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
445OPTION(3, 2151 /* --strip-symbols= */, strip_symbols_eq, Joined, INVALID, strip_symbols, nullptr, 0, DefaultVis, 0,
446 "Remove all symbols whose names appear in the file <filename>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
447OPTION(3, 2168 /* --strip-symbols */, strip_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
448OPTION(3, 2184 /* --strip-symbol */, strip_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
449OPTION(3, 2199 /* --strip-unneeded-symbol= */, strip_unneeded_symbol_eq, Joined, INVALID, strip_unneeded_symbol, nullptr, 0, DefaultVis, 0,
450 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
451OPTION(3, 2224 /* --strip-unneeded-symbols= */, strip_unneeded_symbols_eq, Joined, INVALID, strip_unneeded_symbols, nullptr, 0, DefaultVis, 0,
452 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
453OPTION(3, 2250 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
454OPTION(3, 2275 /* --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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
455OPTION(3, 2299 /* --strip-unneeded */, strip_unneeded, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
456 "Remove all symbols not needed by relocations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
457OPTION(3, 2316 /* --subsystem= */, subsystem_eq, Joined, grp_coff, subsystem, nullptr, 0, DefaultVis, 0,
458 "Set the PE subsystem, and optionally subsystem version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name[:version]", nullptr, 0)
459OPTION(3, 2329 /* --subsystem */, subsystem, Separate, grp_coff, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name[:version]", nullptr, 0)
460OPTION(1, 2341 /* -S */, S, Flag, INVALID, strip_all, nullptr, 0, DefaultVis, 0,
461 "Alias for --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
462OPTION(3, 2344 /* --target= */, target_eq, Joined, INVALID, target, nullptr, 0, DefaultVis, 0,
463 "Equivalent to --input-target and --output-target for the specified format", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, "binary", 0)
464OPTION(3, 2354 /* --target */, target, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, "binary", 0)
465OPTION(3, 2363 /* --update-section= */, update_section_eq, Joined, INVALID, update_section, nullptr, 0, DefaultVis, 0,
466 "Replace the contents of section <name> with contents from a file <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name=file", nullptr, 0)
467OPTION(3, 2381 /* --update-section */, update_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "name=file", nullptr, 0)
468OPTION(1, 2398 /* -U */, U, Flag, INVALID, disable_deterministic_archives, nullptr, 0, DefaultVis, 0,
469 "Alias for --disable-deterministic-archives", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
470OPTION(3, 2401 /* --verify-note-sections */, verify_note_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
471 "Validate note sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
472OPTION(3, 2424 /* --version */, version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
473 "Print the version and exit.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
474OPTION(1, 2434 /* -V */, V, Flag, INVALID, version, nullptr, 0, DefaultVis, 0,
475 "Alias for --version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
476OPTION(3, 2437 /* --weaken-symbol= */, weaken_symbol_eq, Joined, INVALID, weaken_symbol, nullptr, 0, DefaultVis, 0,
477 "Mark global symbols named <symbol> as weak", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
478OPTION(3, 2454 /* --weaken-symbols= */, weaken_symbols_eq, Joined, INVALID, weaken_symbols, nullptr, 0, DefaultVis, 0,
479 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
480OPTION(3, 2472 /* --weaken-symbols */, weaken_symbols, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "filename", nullptr, 0)
481OPTION(3, 2489 /* --weaken-symbol */, weaken_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
482OPTION(3, 2505 /* --weaken */, weaken, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
483 "Mark all defined global symbols as weak", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
484OPTION(3, 2514 /* --wildcard */, wildcard, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
485 "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::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
486OPTION(1, 2525 /* -W */, W, JoinedOrSeparate, INVALID, weaken_symbol, nullptr, 0, DefaultVis, 0,
487 "Alias for --weaken-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
488OPTION(1, 2528 /* -w */, w, Flag, INVALID, wildcard, nullptr, 0, DefaultVis, 0,
489 "Alias for --wildcard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
490OPTION(1, 2531 /* -X */, X, Flag, INVALID, discard_locals, nullptr, 0, DefaultVis, 0,
491 "Alias for --discard-locals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
492OPTION(1, 2534 /* -x */, x, Flag, INVALID, discard_all, nullptr, 0, DefaultVis, 0,
493 "Alias for --discard-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
494#endif // OPTION
495
496#ifdef SIMPLE_ENUM_VALUE_TABLE
497
498struct SimpleEnumValue {
499 const char *Name;
500 unsigned Value;
501};
502
503struct SimpleEnumValueTable {
504 const SimpleEnumValue *Table;
505 unsigned Size;
506};
507static const SimpleEnumValueTable SimpleEnumValueTables[] = {};
508static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
509#endif // SIMPLE_ENUM_VALUE_TABLE
510
511/////////
512
513// SubCommands
514
515#ifdef OPTTABLE_SUBCOMMANDS_CODE
516static constexpr llvm::opt::OptTable::SubCommand OptionSubCommands[] = {
517};
518#endif // OPTTABLE_SUBCOMMANDS_CODE
519
520
521