173
|
1 include "llvm/Option/OptParser.td"
|
|
2
|
207
|
3 // Flags that lld/MachO understands but ld64 doesn't. These take
|
|
4 // '--' instead of '-' and use dashes instead of underscores, so
|
|
5 // they don't collide with the ld64 compat options.
|
|
6 def grp_lld : OptionGroup<"kind">, HelpText<"LLD-SPECIFIC">;
|
|
7
|
|
8 def help : Flag<["-", "--"], "help">,
|
|
9 Group<grp_lld>;
|
|
10 def help_hidden : Flag<["--"], "help-hidden">,
|
|
11 HelpText<"Display help for hidden options">,
|
|
12 Group<grp_lld>;
|
|
13 def verbose : Flag<["--"], "verbose">,
|
|
14 Group<grp_lld>;
|
|
15 def error_limit_eq : Joined<["--"], "error-limit=">,
|
|
16 HelpText<"Maximum number of errors to print before exiting (default: 20)">,
|
|
17 Group<grp_lld>;
|
|
18 def color_diagnostics: Flag<["--"], "color-diagnostics">,
|
|
19 HelpText<"Alias for --color-diagnostics=always">,
|
|
20 Group<grp_lld>;
|
|
21 def no_color_diagnostics: Flag<["--"], "no-color-diagnostics">,
|
|
22 HelpText<"Alias for --color-diagnostics=never">,
|
|
23 Group<grp_lld>;
|
|
24 def color_diagnostics_eq: Joined<["--"], "color-diagnostics=">,
|
|
25 HelpText<"Use colors in diagnostics (default: auto)">,
|
|
26 MetaVarName<"[auto,always,never]">,
|
|
27 Group<grp_lld>;
|
|
28 def threads_eq : Joined<["--"], "threads=">,
|
|
29 HelpText<"Number of threads. '1' disables multi-threading. By default all available hardware threads are used">,
|
|
30 Group<grp_lld>;
|
|
31 def thinlto_jobs_eq : Joined<["--"], "thinlto-jobs=">,
|
|
32 HelpText<"Number of ThinLTO jobs. Default to --threads=">,
|
|
33 Group<grp_lld>;
|
|
34 def reproduce: Separate<["--"], "reproduce">,
|
|
35 Group<grp_lld>;
|
|
36 def reproduce_eq: Joined<["--"], "reproduce=">,
|
|
37 Alias<!cast<Separate>(reproduce)>,
|
|
38 HelpText<"Write tar file containing inputs and command to reproduce link">,
|
|
39 Group<grp_lld>;
|
|
40 def version: Flag<["--"], "version">,
|
|
41 HelpText<"Display the version number and exit">,
|
|
42 Group<grp_lld>;
|
|
43 def lto_legacy_pass_manager: Flag<["--"], "lto-legacy-pass-manager">,
|
|
44 HelpText<"Use the legacy pass manager in LLVM">,
|
|
45 Group<grp_lld>;
|
|
46 def no_lto_legacy_pass_manager : Flag<["--"], "no-lto-legacy-pass-manager">,
|
|
47 HelpText<"Use the new pass manager in LLVM">,
|
|
48 Group<grp_lld>;
|
|
49 def time_trace: Flag<["--"], "time-trace">, HelpText<"Record time trace">;
|
|
50 def time_trace_granularity_eq: Joined<["--"], "time-trace-granularity=">,
|
|
51 HelpText<"Minimum time granularity (in microseconds) traced by time profiler">;
|
|
52 def time_trace_file_eq: Joined<["--"], "time-trace-file=">, HelpText<"Specify time trace output file">;
|
|
53
|
|
54 // This is a complete Options.td compiled from Apple's ld(1) manpage
|
|
55 // dated 2018-03-07 and cross checked with ld64 source code in repo
|
|
56 // https://github.com/apple-opensource/ld64 at git tag "512.4" dated
|
|
57 // 2018-03-18.
|
|
58
|
|
59 // Flags<[HelpHidden]> marks options that are not yet ported to lld,
|
|
60 // and serve as a scoreboard for annotating our progress toward
|
|
61 // implementing ld64 options in lld. As you add implementions to
|
|
62 // Driver.cpp, please remove the hidden flag here.
|
|
63
|
|
64 def grp_kind : OptionGroup<"kind">, HelpText<"OUTPUT KIND">;
|
|
65
|
|
66 def execute : Flag<["-"], "execute">,
|
|
67 HelpText<"Produce a main executable (default)">,
|
|
68 Group<grp_kind>;
|
|
69 def dylib : Flag<["-"], "dylib">,
|
|
70 HelpText<"Produce a shared library">,
|
|
71 Group<grp_kind>;
|
|
72 def bundle : Flag<["-"], "bundle">,
|
|
73 HelpText<"Produce a bundle">,
|
|
74 Group<grp_kind>;
|
|
75 def r : Flag<["-"], "r">,
|
|
76 HelpText<"Merge multiple object files into one, retaining relocations">,
|
|
77 Flags<[HelpHidden]>,
|
|
78 Group<grp_kind>;
|
|
79 def dylinker : Flag<["-"], "dylinker">,
|
|
80 HelpText<"Produce a dylinker only used when building dyld">,
|
|
81 Flags<[HelpHidden]>,
|
|
82 Group<grp_kind>;
|
|
83 def dynamic : Flag<["-"], "dynamic">,
|
|
84 HelpText<"Link dynamically (default)">,
|
|
85 Group<grp_kind>;
|
|
86 def static : Flag<["-"], "static">,
|
|
87 HelpText<"Link statically">,
|
|
88 Flags<[HelpHidden]>,
|
|
89 Group<grp_kind>;
|
|
90 def preload : Flag<["-"], "preload">,
|
|
91 HelpText<"Produce an unsegmented binary for embedded systems">,
|
|
92 Flags<[HelpHidden]>,
|
|
93 Group<grp_kind>;
|
|
94 def arch : Separate<["-"], "arch">,
|
|
95 MetaVarName<"<arch_name>">,
|
|
96 HelpText<"The architecture (e.g. ppc, ppc64, i386, x86_64)">,
|
|
97 Group<grp_kind>;
|
|
98 def o : Separate<["-"], "o">,
|
|
99 MetaVarName<"<path>">,
|
|
100 HelpText<"The name of the output file (default: `a.out')">,
|
|
101 Group<grp_kind>;
|
|
102
|
|
103 def grp_libs : OptionGroup<"libs">, HelpText<"LIBRARIES">;
|
173
|
104
|
207
|
105 def l : Joined<["-"], "l">,
|
|
106 MetaVarName<"<name>">,
|
|
107 HelpText<"Search for lib<name>.dylib or lib<name>.a on the library search path">,
|
|
108 Group<grp_libs>;
|
|
109 def weak_l : Joined<["-"], "weak-l">,
|
|
110 MetaVarName<"<name>">,
|
|
111 HelpText<"Like -l<name>, but mark library and its references as weak imports">,
|
|
112 Group<grp_libs>;
|
|
113 def weak_library : Separate<["-"], "weak_library">,
|
|
114 MetaVarName<"<path>">,
|
|
115 HelpText<"Like bare <path>, but mark library and its references as weak imports">,
|
|
116 Group<grp_libs>;
|
|
117 def needed_l : Joined<["-"], "needed-l">,
|
|
118 MetaVarName<"<name>">,
|
|
119 HelpText<"Like -l<name>, but link library even if its symbols are not used and -dead_strip_dylibs is active">,
|
|
120 Group<grp_libs>;
|
|
121 def needed_library : Separate<["-"], "needed_library">,
|
|
122 MetaVarName<"<path>">,
|
|
123 HelpText<"Like bare <path>, but link library even if its symbols are not used and -dead_strip_dylibs is active">,
|
|
124 Group<grp_libs>;
|
|
125 def reexport_l : Joined<["-"], "reexport-l">,
|
|
126 MetaVarName<"<name>">,
|
|
127 HelpText<"Like -l<name>, but export all symbols of <name> from newly created library">,
|
|
128 Group<grp_libs>;
|
|
129 def reexport_library : Separate<["-"], "reexport_library">,
|
|
130 MetaVarName<"<path>">,
|
|
131 HelpText<"Like bare <path>, but export all symbols of <path> from newly created library">,
|
|
132 Group<grp_libs>;
|
|
133 def upward_l : Joined<["-"], "upward-l">,
|
|
134 MetaVarName<"<name>">,
|
|
135 HelpText<"Like -l<name>, but specify dylib as an upward dependency">,
|
|
136 Flags<[HelpHidden]>,
|
|
137 Group<grp_libs>;
|
|
138 def upward_library : Separate<["-"], "upward_library">,
|
|
139 MetaVarName<"<path>">,
|
|
140 HelpText<"Like bare <path>, but specify dylib as an upward dependency">,
|
|
141 Flags<[HelpHidden]>,
|
|
142 Group<grp_libs>;
|
|
143 def L : JoinedOrSeparate<["-"], "L">,
|
|
144 MetaVarName<"<dir>">,
|
|
145 HelpText<"Add dir to the library search path">,
|
|
146 Group<grp_libs>;
|
|
147 def Z : Flag<["-"], "Z">,
|
|
148 HelpText<"Remove standard directories from the library and framework search paths">,
|
|
149 Group<grp_libs>;
|
|
150 def syslibroot : Separate<["-"], "syslibroot">,
|
|
151 MetaVarName<"<rootdir>">,
|
|
152 HelpText<"Prepend <rootdir> to all library and framework search paths">,
|
|
153 Group<grp_libs>;
|
|
154 def search_paths_first : Flag<["-"], "search_paths_first">,
|
|
155 HelpText<"Search for lib<name>.dylib and lib<name>.a at each step in traversing search path (default for Xcode 4 and later)">,
|
|
156 Group<grp_libs>;
|
|
157 def search_dylibs_first : Flag<["-"], "search_dylibs_first">,
|
|
158 HelpText<"Search for lib<name>.dylib on first pass, then for lib<name>.a on second pass through search path (default for Xcode 3 and earlier)">,
|
|
159 Group<grp_libs>;
|
|
160 def framework : Separate<["-"], "framework">,
|
|
161 MetaVarName<"<name>">,
|
|
162 HelpText<"Search for <name>.framework/<name> on the framework search path">,
|
|
163 Group<grp_libs>;
|
|
164 def weak_framework : Separate<["-"], "weak_framework">,
|
|
165 MetaVarName<"<name>">,
|
|
166 HelpText<"Like -framework <name>, but mark framework and its references as weak imports">,
|
|
167 Group<grp_libs>;
|
|
168 def needed_framework : Separate<["-"], "needed_framework">,
|
|
169 MetaVarName<"<name>">,
|
|
170 HelpText<"Like -framework <name>, but link <name> even if none of its symbols are used and -dead_strip_dylibs is active">,
|
|
171 Group<grp_libs>;
|
|
172 def reexport_framework : Separate<["-"], "reexport_framework">,
|
|
173 MetaVarName<"<name>">,
|
|
174 HelpText<"Like -framework <name>, but export all symbols of <name> from the newly created library">,
|
|
175 Group<grp_libs>;
|
|
176 def upward_framework : Separate<["-"], "upward_framework">,
|
|
177 MetaVarName<"<name>">,
|
|
178 HelpText<"Like -framework <name>, but specify the framework as an upward dependency">,
|
|
179 Flags<[HelpHidden]>,
|
|
180 Group<grp_libs>;
|
|
181 def F : JoinedOrSeparate<["-"], "F">,
|
|
182 MetaVarName<"<dir>">,
|
|
183 HelpText<"Add dir to the framework search path">,
|
|
184 Group<grp_libs>;
|
|
185 def all_load : Flag<["-"], "all_load">,
|
|
186 HelpText<"Load all members of all static archive libraries">,
|
|
187 Group<grp_libs>;
|
|
188 def ObjC : Flag<["-"], "ObjC">,
|
|
189 HelpText<"Load all members of static archives that are an Objective-C class or category.">,
|
|
190 Group<grp_libs>;
|
|
191 def force_load : Separate<["-"], "force_load">,
|
|
192 MetaVarName<"<path>">,
|
|
193 HelpText<"Load all members static archive library at <path>">,
|
|
194 Group<grp_libs>;
|
173
|
195
|
207
|
196 def grp_content : OptionGroup<"content">, HelpText<"ADDITIONAL CONTENT">;
|
|
197
|
|
198 def sectcreate : MultiArg<["-"], "sectcreate", 3>,
|
|
199 MetaVarName<"<segment> <section> <file>">,
|
|
200 HelpText<"Create <section> in <segment> from the contents of <file>">,
|
|
201 Group<grp_content>;
|
|
202 def segcreate : MultiArg<["-"], "segcreate", 3>,
|
|
203 MetaVarName<"<segment> <section> <file>">,
|
|
204 Alias<sectcreate>,
|
|
205 HelpText<"Alias for -sectcreate">,
|
|
206 Group<grp_content>;
|
|
207 def filelist : Separate<["-"], "filelist">,
|
|
208 MetaVarName<"<file>">,
|
|
209 HelpText<"Read names of files to link from <file>">,
|
|
210 Group<grp_content>;
|
|
211 def dtrace : Separate<["-"], "dtrace">,
|
|
212 MetaVarName<"<script>">,
|
|
213 HelpText<"Enable DTrace static probes according to declarations in <script>">,
|
|
214 Flags<[HelpHidden]>,
|
|
215 Group<grp_content>;
|
|
216
|
|
217 def grp_opts : OptionGroup<"opts">, HelpText<"OPTIMIZATIONS">;
|
|
218
|
|
219 def dead_strip : Flag<["-"], "dead_strip">,
|
|
220 HelpText<"Remove unreachable functions and data">,
|
|
221 Group<grp_opts>;
|
|
222 def order_file : Separate<["-"], "order_file">,
|
|
223 MetaVarName<"<file>">,
|
|
224 HelpText<"Layout functions and data according to specification in <file>">,
|
|
225 Group<grp_opts>;
|
|
226 def no_order_inits : Flag<["-"], "no_order_inits">,
|
|
227 HelpText<"Disable default reordering of initializer and terminator functions">,
|
|
228 Flags<[HelpHidden]>,
|
|
229 Group<grp_opts>;
|
|
230 def no_order_data : Flag<["-"], "no_order_data">,
|
|
231 HelpText<"Disable default reordering of global data accessed at launch time">,
|
|
232 Flags<[HelpHidden]>,
|
|
233 Group<grp_opts>;
|
|
234 def image_base : Separate<["-"], "image_base">,
|
|
235 MetaVarName<"<address>">,
|
|
236 HelpText<"Preferred hex load address for a dylib or bundle.">,
|
|
237 Flags<[HelpHidden]>,
|
|
238 Group<grp_opts>;
|
|
239 def seg1addr : Separate<["-"], "seg1addr">,
|
|
240 MetaVarName<"<address>">,
|
|
241 Alias<image_base>,
|
|
242 HelpText<"Alias for -image_base">,
|
|
243 Flags<[HelpHidden]>,
|
|
244 Group<grp_opts>;
|
|
245 def no_implicit_dylibs : Flag<["-"], "no_implicit_dylibs">,
|
|
246 HelpText<"Do not optimize public dylib transitive symbol references">,
|
|
247 Group<grp_opts>;
|
|
248 def exported_symbols_order : Separate<["-"], "exported_symbols_order">,
|
|
249 MetaVarName<"<file>">,
|
|
250 HelpText<"Specify frequently-used symbols in <file> to optimize symbol exports">,
|
|
251 Flags<[HelpHidden]>,
|
|
252 Group<grp_opts>;
|
|
253 def no_zero_fill_sections : Flag<["-"], "no_zero_fill_sections">,
|
|
254 HelpText<"Explicitly store zeroed data in the final image">,
|
|
255 Flags<[HelpHidden]>,
|
|
256 Group<grp_opts>;
|
|
257 def merge_zero_fill_sections : Flag<["-"], "merge_zero_fill_sections">,
|
|
258 HelpText<"Merge all zeroed data into the __zerofill section">,
|
|
259 Flags<[HelpHidden]>,
|
|
260 Group<grp_opts>;
|
|
261 def no_branch_islands : Flag<["-"], "no_branch_islands">,
|
|
262 HelpText<"Disable infra for branches beyond the maximum branch distance.">,
|
|
263 Flags<[HelpHidden]>,
|
|
264 Group<grp_opts>;
|
|
265
|
|
266 def grp_version : OptionGroup<"version">, HelpText<"VERSION TARGETING">;
|
173
|
267
|
207
|
268 def platform_version : MultiArg<["-"], "platform_version", 3>,
|
|
269 MetaVarName<"<platform> <min_version> <sdk_version>">,
|
|
270 HelpText<"Platform (e.g., macos, ios, tvos, watchos, bridgeos, mac-catalyst, ios-sim, tvos-sim, watchos-sim, driverkit) and version numbers">,
|
|
271 Group<grp_version>;
|
|
272 def sdk_version : Separate<["-"], "sdk_version">,
|
|
273 HelpText<"This option is undocumented in ld64">,
|
|
274 Flags<[HelpHidden]>,
|
|
275 Group<grp_version>;
|
|
276 def macos_version_min : Separate<["-"], "macos_version_min">,
|
|
277 MetaVarName<"<version>">,
|
|
278 HelpText<"Oldest macOS version for which linked output is usable">,
|
|
279 Group<grp_version>;
|
|
280 def macosx_version_min : Separate<["-"], "macosx_version_min">,
|
|
281 MetaVarName<"<version>">,
|
|
282 Alias<macos_version_min>,
|
|
283 HelpText<"Alias for -macos_version_min">,
|
|
284 Flags<[HelpHidden]>,
|
|
285 Group<grp_version>;
|
|
286 def ios_version_min : Separate<["-"], "ios_version_min">,
|
|
287 MetaVarName<"<version>">,
|
|
288 HelpText<"Oldest iOS version for which linked output is usable">,
|
|
289 Flags<[HelpHidden]>,
|
|
290 Group<grp_version>;
|
|
291 def ios_simulator_version_min : Separate<["-"], "ios_simulator_version_min">,
|
|
292 MetaVarName<"<version>">,
|
|
293 HelpText<"Oldest iOS simulator version for which linked output is usable">,
|
|
294 Flags<[HelpHidden]>,
|
|
295 Group<grp_version>;
|
|
296 def iphoneos_version_min : Separate<["-"], "iphoneos_version_min">,
|
|
297 MetaVarName<"<version>">,
|
|
298 Alias<ios_version_min>,
|
|
299 HelpText<"Alias for -ios_version_min">,
|
|
300 Flags<[HelpHidden]>,
|
|
301 Group<grp_version>;
|
|
302 def maccatalyst_version_min : Separate<["-"], "maccatalyst_version_min">,
|
|
303 MetaVarName<"<version>">,
|
|
304 HelpText<"Oldest MacCatalyst version for which linked output is usable">,
|
|
305 Flags<[HelpHidden]>,
|
|
306 Group<grp_version>;
|
|
307 def iosmac_version_min : Separate<["-"], "iosmac_version_min">,
|
|
308 MetaVarName<"<version>">,
|
|
309 Alias<maccatalyst_version_min>,
|
|
310 HelpText<"Alias for -maccatalyst_version_min">,
|
|
311 Flags<[HelpHidden]>,
|
|
312 Group<grp_version>;
|
|
313 def uikitformac_version_min : Separate<["-"], "uikitformac_version_min">,
|
|
314 MetaVarName<"<version>">,
|
|
315 Alias<maccatalyst_version_min>,
|
|
316 HelpText<"Alias for -maccatalyst_version_min">,
|
|
317 Flags<[HelpHidden]>,
|
|
318 Group<grp_version>;
|
|
319 def tvos_version_min : Separate<["-"], "tvos_version_min">,
|
|
320 MetaVarName<"<version>">,
|
|
321 HelpText<"Oldest tvOS version for which linked output is usable">,
|
|
322 Flags<[HelpHidden]>,
|
|
323 Group<grp_version>;
|
|
324 def watchos_version_min : Separate<["-"], "watchos_version_min">,
|
|
325 MetaVarName<"<version>">,
|
|
326 HelpText<"Oldest watchOS version for which linked output is usable">,
|
|
327 Flags<[HelpHidden]>,
|
|
328 Group<grp_version>;
|
|
329 def bridgeos_version_min : Separate<["-"], "bridgeos_version_min">,
|
|
330 MetaVarName<"<version>">,
|
|
331 HelpText<"Oldest bridgeOS version for which linked output is usable">,
|
|
332 Flags<[HelpHidden]>,
|
|
333 Group<grp_version>;
|
|
334 def driverkit_version_min : Separate<["-"], "driverkit_version_min">,
|
|
335 MetaVarName<"<version>">,
|
|
336 HelpText<"Oldest DriverKit version for which linked output is usable">,
|
|
337 Flags<[HelpHidden]>,
|
|
338 Group<grp_version>;
|
|
339
|
|
340 def grp_dylib : OptionGroup<"dylib">, HelpText<"DYNAMIC LIBRARIES (DYLIB)">;
|
173
|
341
|
207
|
342 def install_name : Separate<["-"], "install_name">,
|
|
343 MetaVarName<"<name>">,
|
|
344 HelpText<"Set an internal install path in a dylib">,
|
|
345 Group<grp_dylib>;
|
|
346 def dylib_install_name : Separate<["-"], "dylib_install_name">,
|
|
347 MetaVarName<"<name>">,
|
|
348 Alias<install_name>,
|
|
349 HelpText<"Alias for -install_name">,
|
|
350 Group<grp_dylib>;
|
|
351 def dylinker_install_name : Separate<["-"], "dylinker_install_name">,
|
|
352 MetaVarName<"<name>">,
|
|
353 Alias<install_name>,
|
|
354 HelpText<"Alias for -install_name">,
|
|
355 Group<grp_dylib>;
|
|
356 def mark_dead_strippable_dylib : Flag<["-"], "mark_dead_strippable_dylib">,
|
|
357 HelpText<"Mark output dylib as dead-strippable: When a client links against it but does not use any of its symbols, the dylib will not be added to the client's list of needed dylibs">,
|
|
358 Group<grp_dylib>;
|
|
359 def compatibility_version : Separate<["-"], "compatibility_version">,
|
|
360 MetaVarName<"<version>">,
|
|
361 HelpText<"Compatibility <version> of this library">,
|
|
362 Group<grp_dylib>;
|
|
363 def dylib_compatibility_version : Separate<["-"], "dylib_compatibility_version">,
|
|
364 MetaVarName<"<version>">,
|
|
365 Alias<compatibility_version>,
|
|
366 HelpText<"Alias for -compatibility_version">,
|
|
367 Flags<[HelpHidden]>,
|
|
368 Group<grp_dylib>;
|
|
369 def current_version : Separate<["-"], "current_version">,
|
|
370 MetaVarName<"<version>">,
|
|
371 HelpText<"Current <version> of this library">,
|
|
372 Group<grp_dylib>;
|
|
373 def dylib_current_version : Separate<["-"], "dylib_current_version">,
|
|
374 MetaVarName<"<version>">,
|
|
375 Alias<current_version>,
|
|
376 HelpText<"Alias for -current_version">,
|
|
377 Flags<[HelpHidden]>,
|
|
378 Group<grp_dylib>;
|
|
379
|
|
380 def grp_main : OptionGroup<"main">, HelpText<"MAIN EXECUTABLE">;
|
|
381
|
|
382 def pie : Flag<["-"], "pie">,
|
|
383 HelpText<"Build a position independent executable (default)">,
|
|
384 Group<grp_main>;
|
|
385 def no_pie : Flag<["-"], "no_pie">,
|
|
386 HelpText<"Do not build a position independent executable">,
|
|
387 Group<grp_main>;
|
|
388 def pagezero_size : Separate<["-"], "pagezero_size">,
|
|
389 MetaVarName<"<size>">,
|
|
390 HelpText<"Size of unreadable segment at address zero is hex <size> (default is 4KB on 32-bit and 4GB on 64-bit)">,
|
|
391 Flags<[HelpHidden]>,
|
|
392 Group<grp_main>;
|
|
393 def stack_size : Separate<["-"], "stack_size">,
|
|
394 MetaVarName<"<size>">,
|
|
395 HelpText<"Maximum hex stack size for the main thread in a program. (default is 8MB)">,
|
|
396 Flags<[HelpHidden]>,
|
|
397 Group<grp_main>;
|
|
398 def allow_stack_execute : Flag<["-"], "allow_stack_execute">,
|
|
399 HelpText<"Mark stack segment as executable">,
|
|
400 Flags<[HelpHidden]>,
|
|
401 Group<grp_main>;
|
|
402 def export_dynamic : Flag<["-"], "export_dynamic">,
|
|
403 HelpText<"Preserve all global symbols during LTO">,
|
|
404 Flags<[HelpHidden]>,
|
|
405 Group<grp_main>;
|
|
406
|
|
407 def grp_bundle : OptionGroup<"bundle">, HelpText<"CREATING A BUNDLE">;
|
|
408
|
|
409 def bundle_loader : Separate<["-"], "bundle_loader">,
|
|
410 MetaVarName<"<executable>">,
|
|
411 HelpText<"Resolve undefined symbols from <executable>">,
|
|
412 Group<grp_bundle>;
|
|
413
|
|
414 def grp_object : OptionGroup<"object">, HelpText<"CREATING AN OBJECT FILE">;
|
173
|
415
|
207
|
416 def keep_private_externs : Flag<["-"], "keep_private_externs">,
|
|
417 HelpText<"Do not convert private external symbols to static symbols (only valid with -r)">,
|
|
418 Flags<[HelpHidden]>,
|
|
419 Group<grp_object>;
|
|
420 def d : Flag<["-"], "d">,
|
|
421 HelpText<"Force tentative into real definitions for common symbols">,
|
|
422 Flags<[HelpHidden]>,
|
|
423 Group<grp_object>;
|
|
424
|
|
425 def grp_resolve : OptionGroup<"resolve">, HelpText<"SYMBOL RESOLUTION">;
|
|
426
|
|
427 def exported_symbol : Separate<["-"], "exported_symbol">,
|
|
428 MetaVarName<"<symbol>">,
|
|
429 HelpText<"<symbol> remains global, while others become private externs">,
|
|
430 Group<grp_resolve>;
|
|
431 def exported_symbols_list : Separate<["-"], "exported_symbols_list">,
|
|
432 MetaVarName<"<file>">,
|
|
433 HelpText<"Symbols specified in <file> remain global, while others become private externs">,
|
|
434 Group<grp_resolve>;
|
|
435 def unexported_symbol : Separate<["-"], "unexported_symbol">,
|
|
436 MetaVarName<"<symbol>">,
|
|
437 HelpText<"Global <symbol> becomes private extern">,
|
|
438 Group<grp_resolve>;
|
|
439 def unexported_symbols_list : Separate<["-"], "unexported_symbols_list">,
|
|
440 MetaVarName<"<file>">,
|
|
441 HelpText<"Global symbols specified in <file> become private externs">,
|
|
442 Group<grp_resolve>;
|
|
443 def reexported_symbols_list : Separate<["-"], "reexported_symbols_list">,
|
|
444 MetaVarName<"<file>">,
|
|
445 HelpText<"Symbols from dependent dylibs specified in <file> are reexported by this dylib">,
|
|
446 Flags<[HelpHidden]>,
|
|
447 Group<grp_resolve>;
|
|
448 def alias : MultiArg<["-"], "alias", 2>,
|
|
449 MetaVarName<"<symbol_name> <alternate_name>">,
|
|
450 HelpText<"Create a symbol alias with default global visibility">,
|
|
451 Flags<[HelpHidden]>,
|
|
452 Group<grp_resolve>;
|
|
453 def alias_list : Separate<["-"], "alias_list">,
|
|
454 MetaVarName<"<file>">,
|
|
455 HelpText<"Create symbol aliases specified in <file>">,
|
|
456 Flags<[HelpHidden]>,
|
|
457 Group<grp_resolve>;
|
|
458 def flat_namespace : Flag<["-"], "flat_namespace">,
|
|
459 HelpText<"Resolve symbols from all dylibs, both direct and transitive. Do not record source libraries: dyld must re-search at runtime and use the first definition found">,
|
|
460 Group<grp_resolve>;
|
|
461 def twolevel_namespace : Flag<["-"], "twolevel_namespace">,
|
|
462 HelpText<"Make dyld look up symbols by (dylib,name) pairs (default)">,
|
|
463 Group<grp_resolve>;
|
|
464 def u : Separate<["-"], "u">,
|
|
465 MetaVarName<"<symbol>">,
|
|
466 HelpText<"Require that <symbol> be defined for the link to succeed">,
|
|
467 Group<grp_resolve>;
|
|
468 def U : Separate<["-"], "U">,
|
|
469 MetaVarName<"<symbol>">,
|
|
470 HelpText<"Allow <symbol> to have no definition">,
|
|
471 Group<grp_resolve>;
|
|
472 def undefined : Separate<["-"], "undefined">,
|
|
473 MetaVarName<"<treatment>">,
|
|
474 HelpText<"Handle undefined symbols according to <treatment>: error, warning, suppress, or dynamic_lookup (default is error)">,
|
|
475 Group<grp_resolve>;
|
|
476 def rpath : Separate<["-"], "rpath">,
|
|
477 MetaVarName<"<path>">,
|
|
478 HelpText<"Add <path> to dyld search list for dylibs with load path prefix `@rpath/'">,
|
|
479 Group<grp_resolve>;
|
|
480 def commons : Separate<["-"], "commons">,
|
|
481 MetaVarName<"<treatment>">,
|
|
482 HelpText<"Resolve tentative definitions in dylibs according to <treatment>: ignore_dylibs, use_dylibs, error (default is ignore_dylibs)">,
|
|
483 Flags<[HelpHidden]>,
|
|
484 Group<grp_resolve>;
|
|
485
|
|
486 def grp_introspect : OptionGroup<"introspect">, HelpText<"INTROSPECTING THE LINKER">;
|
173
|
487
|
207
|
488 def why_load : Flag<["-"], "why_load">,
|
|
489 HelpText<"Log why each object file is loaded from a static library">,
|
|
490 Group<grp_introspect>;
|
|
491 def whyload : Flag<["-"], "whyload">,
|
|
492 Alias<why_load>,
|
|
493 HelpText<"Alias for -why_load">,
|
|
494 Group<grp_introspect>;
|
|
495 def why_live : Separate<["-"], "why_live">,
|
|
496 MetaVarName<"<symbol>">,
|
|
497 HelpText<"Log a chain of references to <symbol>, for use with -dead_strip">,
|
|
498 Flags<[HelpHidden]>,
|
|
499 Group<grp_introspect>;
|
|
500 def print_statistics : Flag<["-"], "print_statistics">,
|
|
501 HelpText<"Log the linker's memory and CPU usage">,
|
|
502 Flags<[HelpHidden]>,
|
|
503 Group<grp_introspect>;
|
|
504 def t : Flag<["-"], "t">,
|
|
505 HelpText<"Log every file the linker loads: object, archive, and dylib">,
|
|
506 Group<grp_introspect>;
|
|
507 def whatsloaded : Flag<["-"], "whatsloaded">,
|
|
508 HelpText<"Logs only the object files the linker loads">,
|
|
509 Flags<[HelpHidden]>,
|
|
510 Group<grp_introspect>;
|
|
511 def order_file_statistics : Flag<["-"], "order_file_statistics">,
|
|
512 HelpText<"Logs information about -order_file">,
|
|
513 Flags<[HelpHidden]>,
|
|
514 Group<grp_introspect>;
|
|
515 def map : Separate<["-"], "map">,
|
|
516 MetaVarName<"<path>">,
|
|
517 HelpText<"Writes all symbols and their addresses to <path>">,
|
|
518 Group<grp_introspect>;
|
|
519 def dependency_info : Separate<["-"], "dependency_info">,
|
|
520 MetaVarName<"<path>">,
|
|
521 HelpText<"Dump dependency info">,
|
|
522 Group<grp_introspect>;
|
|
523 def save_temps : Flag<["-"], "save-temps">,
|
|
524 HelpText<"Save intermediate LTO compilation results">,
|
|
525 Group<grp_introspect>;
|
|
526
|
|
527 def grp_symtab : OptionGroup<"symtab">, HelpText<"SYMBOL TABLE">;
|
|
528
|
|
529 def S : Flag<["-"], "S">,
|
|
530 HelpText<"Strip debug information (STABS or DWARF) from the output">,
|
|
531 Flags<[HelpHidden]>,
|
|
532 Group<grp_symtab>;
|
|
533 def x : Flag<["-"], "x">,
|
|
534 HelpText<"Exclude non-global symbols from the output symbol table">,
|
|
535 Flags<[HelpHidden]>,
|
|
536 Group<grp_symtab>;
|
|
537 def non_global_symbols_strip_list : Separate<["-"], "non_global_symbols_strip_list">,
|
|
538 MetaVarName<"<path>">,
|
|
539 HelpText<"Specify in <path> the non-global symbols that should be removed from the output symbol table">,
|
|
540 Flags<[HelpHidden]>,
|
|
541 Group<grp_symtab>;
|
|
542 def non_global_symbols_no_strip_list : Separate<["-"], "non_global_symbols_no_strip_list">,
|
|
543 MetaVarName<"<path>">,
|
|
544 HelpText<"Specify in <path> the non-global symbols that should remain in the output symbol table">,
|
|
545 Flags<[HelpHidden]>,
|
|
546 Group<grp_symtab>;
|
|
547 def oso_prefix : Separate<["-"], "oso_prefix">,
|
|
548 MetaVarName<"<path>">,
|
|
549 HelpText<"Remove the prefix <path> from OSO symbols in the debug map">,
|
|
550 Flags<[HelpHidden]>,
|
|
551 Group<grp_symtab>;
|
|
552 def add_ast_path : Separate<["-"], "add_ast_path">,
|
|
553 MetaVarName<"<path>">,
|
|
554 HelpText<"AST paths will be emitted as STABS">,
|
|
555 Group<grp_symtab>;
|
|
556
|
|
557 def grp_bitcode : OptionGroup<"bitcode">, HelpText<"BITCODE BUILD FLOW">;
|
|
558
|
|
559 def bitcode_bundle : Flag<["-"], "bitcode_bundle">,
|
|
560 HelpText<"Generate an embedded bitcode bundle in the __LLVM,__bundle section of the output">,
|
|
561 Group<grp_bitcode>;
|
|
562 def bitcode_hide_symbols : Flag<["-"], "bitcode_hide_symbols">,
|
|
563 HelpText<"With -bitcode_bundle, hide all non-exported symbols from output bitcode bundle.">,
|
|
564 Flags<[HelpHidden]>,
|
|
565 Group<grp_bitcode>;
|
|
566 def bitcode_symbol_map : Separate<["-"], "bitcode_symbol_map">,
|
|
567 MetaVarName<"<path>">,
|
|
568 HelpText<"Write the bitcode symbol reverse mapping to file <path>, or if a directory, to <path>/UUID.bcsymbolmap">,
|
|
569 Flags<[HelpHidden]>,
|
|
570 Group<grp_bitcode>;
|
|
571
|
|
572 def grp_rare : OptionGroup<"rare">, HelpText<"RARELY USED">;
|
173
|
573
|
207
|
574 def v : Flag<["-"], "v">,
|
|
575 HelpText<"Print the linker version and search paths in addition to linking">,
|
|
576 Group<grp_rare>;
|
|
577 def adhoc_codesign : Flag<["-"], "adhoc_codesign">,
|
|
578 HelpText<"Write an ad-hoc code signature to the output file (default for arm64 binaries)">,
|
|
579 Group<grp_rare>;
|
|
580 def no_adhoc_codesign : Flag<["-"], "no_adhoc_codesign">,
|
|
581 HelpText<"Do not write an ad-hoc code signature to the output file (default for x86_64 binaries)">,
|
|
582 Group<grp_rare>;
|
|
583 def version_details : Flag<["-"], "version_details">,
|
|
584 HelpText<"Print the linker version in JSON form">,
|
|
585 Flags<[HelpHidden]>,
|
|
586 Group<grp_rare>;
|
|
587 def no_weak_imports : Flag<["-"], "no_weak_imports">,
|
|
588 HelpText<"Fail if any symbols are weak imports, allowed to be NULL at runtime">,
|
|
589 Flags<[HelpHidden]>,
|
|
590 Group<grp_rare>;
|
|
591 def no_deduplicate : Flag<["-"], "no_deduplicate">,
|
|
592 HelpText<"Omit the deduplication pass">,
|
|
593 Flags<[HelpHidden]>,
|
|
594 Group<grp_rare>;
|
|
595 def verbose_deduplicate : Flag<["-"], "verbose_deduplicate">,
|
|
596 HelpText<"Print function names eliminated by deduplication and the total size of code savings">,
|
|
597 Flags<[HelpHidden]>,
|
|
598 Group<grp_rare>;
|
|
599 def no_inits : Flag<["-"], "no_inits">,
|
|
600 HelpText<"Fail if the output contains static initializers">,
|
|
601 Flags<[HelpHidden]>,
|
|
602 Group<grp_rare>;
|
|
603 def no_warn_inits : Flag<["-"], "no_warn_inits">,
|
|
604 HelpText<"Suppress warnings for static initializers in the output">,
|
|
605 Flags<[HelpHidden]>,
|
|
606 Group<grp_rare>;
|
|
607 def debug_variant : Flag<["-"], "debug_variant">,
|
|
608 HelpText<"Suppress warnings germane to binaries shipping to customers">,
|
|
609 Flags<[HelpHidden]>,
|
|
610 Group<grp_rare>;
|
|
611 def unaligned_pointers : Separate<["-"], "unaligned_pointers">,
|
|
612 MetaVarName<"<treatment>">,
|
|
613 HelpText<"Handle unaligned pointers in __DATA segments according to <treatment>: warning, error, or suppress (default for arm64e is error, otherwise suppress)">,
|
|
614 Flags<[HelpHidden]>,
|
|
615 Group<grp_rare>;
|
|
616 def dirty_data_list : Separate<["-"], "dirty_data_list">,
|
|
617 MetaVarName<"<path>">,
|
|
618 HelpText<"Specify data symbols in <path> destined for the __DATA_DIRTY segment">,
|
|
619 Flags<[HelpHidden]>,
|
|
620 Group<grp_rare>;
|
|
621 def max_default_common_align : Separate<["-"], "max_default_common_align">,
|
|
622 MetaVarName<"<boundary>">,
|
|
623 HelpText<"Reduce maximum alignment for common symbols to a hex power-of-2 <boundary>">,
|
|
624 Flags<[HelpHidden]>,
|
|
625 Group<grp_rare>;
|
|
626 def move_to_rw_segment : MultiArg<["-"], "move_to_rw_segment", 2>,
|
|
627 MetaVarName<"<segment> <path>">,
|
|
628 HelpText<"Move data symbols listed in <path> to another <segment>">,
|
|
629 Flags<[HelpHidden]>,
|
|
630 Group<grp_rare>;
|
|
631 def move_to_ro_segment : MultiArg<["-"], "move_to_ro_segment", 2>,
|
|
632 MetaVarName<"<segment> <path>">,
|
|
633 HelpText<"Move code symbols listed in <path> to another <segment>">,
|
|
634 Flags<[HelpHidden]>,
|
|
635 Group<grp_rare>;
|
|
636 def rename_section : MultiArg<["-"], "rename_section", 4>,
|
|
637 MetaVarName<"<from_segment> <from_section> <to_segment> <to_section>">,
|
|
638 HelpText<"Rename <from_segment>/<from_section> as <to_segment>/<to_section>">,
|
|
639 Group<grp_rare>;
|
|
640 def rename_segment : MultiArg<["-"], "rename_segment", 2>,
|
|
641 MetaVarName<"<from_segment> <to_segment>">,
|
|
642 HelpText<"Rename <from_segment> as <to_segment>">,
|
|
643 Group<grp_rare>;
|
|
644 def trace_symbol_layout : Flag<["-"], "trace_symbol_layout">,
|
|
645 HelpText<"Show where and why symbols move, as specified by -move_to_ro_segment, -move_to_rw_segment, -rename_section, and -rename_segment">,
|
|
646 Flags<[HelpHidden]>,
|
|
647 Group<grp_rare>;
|
|
648 def data_const : Flag<["-"], "data_const">,
|
|
649 HelpText<"Force migration of readonly data into __DATA_CONST segment">,
|
|
650 Group<grp_rare>;
|
|
651 def no_data_const : Flag<["-"], "no_data_const">,
|
|
652 HelpText<"Block migration of readonly data away from __DATA segment">,
|
|
653 Group<grp_rare>;
|
|
654 def text_exec : Flag<["-"], "text_exec">,
|
|
655 HelpText<"Rename __segment TEXT to __TEXT_EXEC for sections __text and __stubs">,
|
|
656 Flags<[HelpHidden]>,
|
|
657 Group<grp_rare>;
|
|
658 def section_order : MultiArg<["-"], "section_order", 2>,
|
|
659 MetaVarName<"<segment> <sections>">,
|
|
660 HelpText<"With -preload, specify layout sequence of colon-separated <sections> in <segment>">,
|
|
661 Flags<[HelpHidden]>,
|
|
662 Group<grp_rare>;
|
|
663 def segment_order : Separate<["-"], "segment_order">,
|
|
664 MetaVarName<"<colon_separated_segment_list>">,
|
|
665 HelpText<"With -preload, specify layout sequence of colon-separated <segments>">,
|
|
666 Flags<[HelpHidden]>,
|
|
667 Group<grp_rare>;
|
|
668 def allow_heap_execute : Flag<["-"], "allow_heap_execute">,
|
|
669 HelpText<"On i386, allow any page to execute code">,
|
|
670 Flags<[HelpHidden]>,
|
|
671 Group<grp_rare>;
|
|
672 def application_extension : Flag<["-"], "application_extension">,
|
|
673 HelpText<"Designate the linker output as safe for use in an application extension">,
|
|
674 Flags<[HelpHidden]>,
|
|
675 Group<grp_rare>;
|
|
676 def no_application_extension : Flag<["-"], "no_application_extension">,
|
|
677 HelpText<"Designate the linker output as unsafe for use in an application extension">,
|
|
678 Flags<[HelpHidden]>,
|
|
679 Group<grp_rare>;
|
|
680 def fatal_warnings : Flag<["-"], "fatal_warnings">,
|
|
681 HelpText<"Treat warnings as errors">,
|
|
682 Group<grp_rare>;
|
|
683 def no_eh_labels : Flag<["-"], "no_eh_labels">,
|
|
684 HelpText<"In -r mode, suppress .eh labels in the __eh_frame section">,
|
|
685 Flags<[HelpHidden]>,
|
|
686 Group<grp_rare>;
|
|
687 def warn_compact_unwind : Flag<["-"], "warn_compact_unwind">,
|
|
688 HelpText<"Warn for each FDE that cannot compact into the __unwind_info section and must remain in the __eh_frame section">,
|
|
689 Flags<[HelpHidden]>,
|
|
690 Group<grp_rare>;
|
|
691 def warn_weak_exports : Flag<["-"], "warn_weak_exports">,
|
|
692 HelpText<"Warn if the linked image contains weak external symbols">,
|
|
693 Flags<[HelpHidden]>,
|
|
694 Group<grp_rare>;
|
|
695 def no_weak_exports : Flag<["-"], "no_weak_exports">,
|
|
696 HelpText<"Fail if the linked image contains weak external symbols">,
|
|
697 Flags<[HelpHidden]>,
|
|
698 Group<grp_rare>;
|
|
699 def objc_gc_compaction : Flag<["-"], "objc_gc_compaction">,
|
|
700 HelpText<"Mark the Objective-C image as compatible with compacting garbage collection">,
|
|
701 Flags<[HelpHidden]>,
|
|
702 Group<grp_rare>;
|
|
703 def objc_gc : Flag<["-"], "objc_gc">,
|
|
704 HelpText<"Verify that all code was compiled with -fobjc-gc or -fobjc-gc-only">,
|
|
705 Flags<[HelpHidden]>,
|
|
706 Group<grp_rare>;
|
|
707 def objc_gc_only : Flag<["-"], "objc_gc_only">,
|
|
708 HelpText<"Verify that all code was compiled with -fobjc-gc-only">,
|
|
709 Flags<[HelpHidden]>,
|
|
710 Group<grp_rare>;
|
|
711 def dead_strip_dylibs : Flag<["-"], "dead_strip_dylibs">,
|
|
712 HelpText<"Remove dylibs that are unreachable by the entry point or exported symbols">,
|
|
713 Group<grp_rare>;
|
|
714 def allow_sub_type_mismatches : Flag<["-"], "allow_sub_type_mismatches">,
|
|
715 HelpText<"Permit mixing objects compiled for different ARM CPU subtypes">,
|
|
716 Flags<[HelpHidden]>,
|
|
717 Group<grp_rare>;
|
|
718 def no_uuid : Flag<["-"], "no_uuid">,
|
|
719 HelpText<"Do not generate the LC_UUID load command">,
|
|
720 Flags<[HelpHidden]>,
|
|
721 Group<grp_rare>;
|
|
722 def root_safe : Flag<["-"], "root_safe">,
|
|
723 HelpText<"Set the MH_ROOT_SAFE bit in the mach-o header">,
|
|
724 Flags<[HelpHidden]>,
|
|
725 Group<grp_rare>;
|
|
726 def setuid_safe : Flag<["-"], "setuid_safe">,
|
|
727 HelpText<"Set the MH_SETUID_SAFE bit in the mach-o header">,
|
|
728 Flags<[HelpHidden]>,
|
|
729 Group<grp_rare>;
|
|
730 def interposable : Flag<["-"], "interposable">,
|
|
731 HelpText<"Indirects access to all to exported symbols in a dylib">,
|
|
732 Flags<[HelpHidden]>,
|
|
733 Group<grp_rare>;
|
|
734 def multi_module : Flag<["-"], "multi_module">,
|
|
735 Alias<interposable>,
|
|
736 HelpText<"Alias for -interposable">,
|
|
737 Flags<[HelpHidden]>,
|
|
738 Group<grp_rare>;
|
|
739 def init : Separate<["-"], "init">,
|
|
740 MetaVarName<"<symbol>">,
|
|
741 HelpText<"Run <symbol> as the first initializer in a dylib">,
|
|
742 Flags<[HelpHidden]>,
|
|
743 Group<grp_rare>;
|
|
744 def sub_library : Separate<["-"], "sub_library">,
|
|
745 MetaVarName<"<name>">,
|
|
746 HelpText<"Re-export the dylib as <name>">,
|
|
747 Group<grp_rare>;
|
|
748 def sub_umbrella : Separate<["-"], "sub_umbrella">,
|
|
749 MetaVarName<"<name>">,
|
|
750 HelpText<"Re-export the framework as <name>">,
|
|
751 Group<grp_rare>;
|
|
752 def allowable_client : Separate<["-"], "allowable_client">,
|
|
753 MetaVarName<"<name>">,
|
|
754 HelpText<"Specify <name> of a dylib or framework that is allowed to link to this dylib">,
|
|
755 Flags<[HelpHidden]>,
|
|
756 Group<grp_rare>;
|
|
757 def client_name : Separate<["-"], "client_name">,
|
|
758 MetaVarName<"<name>">,
|
|
759 HelpText<"Specifies a <name> this client should match with the -allowable_client <name> in a dependent dylib">,
|
|
760 Flags<[HelpHidden]>,
|
|
761 Group<grp_rare>;
|
|
762 def umbrella : Separate<["-"], "umbrella">,
|
|
763 MetaVarName<"<<name>>">,
|
|
764 HelpText<"Re-export this dylib through the umbrella framework <name>a">,
|
|
765 Flags<[HelpHidden]>,
|
|
766 Group<grp_rare>;
|
|
767 def headerpad : Separate<["-"], "headerpad">,
|
|
768 MetaVarName<"<size>">,
|
|
769 HelpText<"Allocate hex <size> extra space for future expansion of the load commands via install_name_tool (default is 0x20)">,
|
|
770 Group<grp_rare>;
|
|
771 def headerpad_max_install_names : Flag<["-"], "headerpad_max_install_names">,
|
|
772 HelpText<"Allocate extra space so all load-command paths can expand to MAXPATHLEN via install_name_tool">,
|
|
773 Group<grp_rare>;
|
|
774 def bind_at_load : Flag<["-"], "bind_at_load">,
|
|
775 HelpText<"Tell dyld to bind all symbols at load time, rather than lazily">,
|
|
776 Flags<[HelpHidden]>,
|
|
777 Group<grp_rare>;
|
|
778 def force_flat_namespace : Flag<["-"], "force_flat_namespace">,
|
|
779 HelpText<"Tell dyld to use a flat namespace on this executable and all its dependent dylibs & bundles">,
|
|
780 Flags<[HelpHidden]>,
|
|
781 Group<grp_rare>;
|
|
782 def segalign : Separate<["-"], "segalign">,
|
|
783 MetaVarName<"<boundary>">,
|
|
784 HelpText<"Align all segments to hex power-of-2 <boundary>">,
|
|
785 Flags<[HelpHidden]>,
|
|
786 Group<grp_rare>;
|
|
787 def sectalign : MultiArg<["-"], "sectalign", 3>,
|
|
788 MetaVarName<"<segment> <section> <boundary>">,
|
|
789 HelpText<"Align <section> within <segment> to hex power-of-2 <boundary>">,
|
|
790 Group<grp_rare>;
|
|
791 def stack_addr : Separate<["-"], "stack_addr">,
|
|
792 MetaVarName<"<address>">,
|
|
793 HelpText<"Initialize stack pointer to hex <address> rounded to a page boundary">,
|
|
794 Flags<[HelpHidden]>,
|
|
795 Group<grp_rare>;
|
|
796 def segprot : MultiArg<["-"], "segprot", 3>,
|
|
797 MetaVarName<"<segment> <max> <init>">,
|
|
798 HelpText<"Specifies the <max> and <init> virtual memory protection of <segment> as r/w/x/-seg_addr_table path">,
|
|
799 Group<grp_rare>;
|
|
800 def segs_read_write_addr : Separate<["-"], "segs_read_write_addr">,
|
|
801 MetaVarName<"<address>">,
|
|
802 HelpText<"This option is obsolete">,
|
|
803 Flags<[HelpHidden]>,
|
|
804 Group<grp_rare>;
|
|
805 def segs_read_only_addr : Separate<["-"], "segs_read_only_addr">,
|
|
806 MetaVarName<"<address>">,
|
|
807 HelpText<"This option is obsolete">,
|
|
808 Flags<[HelpHidden]>,
|
|
809 Group<grp_rare>;
|
|
810 def segaddr : MultiArg<["-"], "segaddr", 2>,
|
|
811 MetaVarName<"<segment> <address>">,
|
|
812 HelpText<"Specify the starting hex <address> at a 4KiB page boundary for <segment>">,
|
|
813 Flags<[HelpHidden]>,
|
|
814 Group<grp_rare>;
|
|
815 def seg_page_size : MultiArg<["-"], "seg_page_size", 2>,
|
|
816 MetaVarName<"<segment> <size>">,
|
|
817 HelpText<"Specifies the page <size> for <segment>. Segment size will be a multiple of its page size">,
|
|
818 Flags<[HelpHidden]>,
|
|
819 Group<grp_rare>;
|
|
820 def dylib_file : Separate<["-"], "dylib_file">,
|
|
821 MetaVarName<"<install_path:current_path>">,
|
|
822 HelpText<"Specify <current_path> as different from where a dylib normally resides at <install_path>">,
|
|
823 Flags<[HelpHidden]>,
|
|
824 Group<grp_rare>;
|
|
825 def weak_reference_mismatches : Separate<["-"], "weak_reference_mismatches">,
|
|
826 MetaVarName<"<treatment>">,
|
|
827 HelpText<"Resolve symbol imports of conflicting weakness according to <treatment> as weak, non-weak, or error (default is non-weak)">,
|
|
828 Flags<[HelpHidden]>,
|
|
829 Group<grp_rare>;
|
|
830 def read_only_relocs : Separate<["-"], "read_only_relocs">,
|
|
831 MetaVarName<"<treatment>">,
|
|
832 HelpText<"Handle relocations that modify read-only pages according to <treatment> of warning, error, or suppress (i.e., allow)">,
|
|
833 Flags<[HelpHidden]>,
|
|
834 Group<grp_rare>;
|
|
835 def force_cpusubtype_ALL : Flag<["-"], "force_cpusubtype_ALL">,
|
|
836 HelpText<"Mark binary as runnable on any PowerPC, ignoring any PowerPC cpu requirements encoded in the object files">,
|
|
837 Flags<[HelpHidden]>,
|
|
838 Group<grp_rare>;
|
|
839 def no_arch_warnings : Flag<["-"], "no_arch_warnings">,
|
|
840 HelpText<"Suppresses warnings about inputs whose architecture does not match the -arch option">,
|
|
841 Flags<[HelpHidden]>,
|
|
842 Group<grp_rare>;
|
|
843 def arch_errors_fatal : Flag<["-"], "arch_errors_fatal">,
|
|
844 HelpText<"Escalate to errors any warnings about inputs whose architecture does not match the -arch option">,
|
|
845 Flags<[HelpHidden]>,
|
|
846 Group<grp_rare>;
|
|
847 def e : Separate<["-"], "e">,
|
|
848 MetaVarName<"<symbol>">,
|
|
849 HelpText<"Make <symbol> the entry point of an executable (default is \"start\" from crt1.o)">,
|
|
850 Group<grp_rare>;
|
|
851 def w : Flag<["-"], "w">,
|
|
852 HelpText<"Suppress all warnings">,
|
|
853 Flags<[HelpHidden]>,
|
|
854 Group<grp_rare>;
|
|
855 def final_output : Separate<["-"], "final_output">,
|
|
856 MetaVarName<"<name>">,
|
|
857 HelpText<"Specify the dylib install name if -install_name is not used--used by compiler driver for multiple -arch arguments">,
|
|
858 Flags<[HelpHidden]>,
|
|
859 Group<grp_rare>;
|
|
860 def arch_multiple : Flag<["-"], "arch_multiple">,
|
|
861 HelpText<"Augment error and warning messages with the architecture name">,
|
|
862 Flags<[HelpHidden]>,
|
|
863 Group<grp_rare>;
|
|
864 def dot : Separate<["-"], "dot">,
|
|
865 MetaVarName<"<path>">,
|
|
866 HelpText<"Write a graph of symbol dependencies to <path> as a .dot file viewable with GraphViz">,
|
|
867 Flags<[HelpHidden]>,
|
|
868 Group<grp_rare>;
|
|
869 def keep_relocs : Flag<["-"], "keep_relocs">,
|
|
870 HelpText<"Retain section-based relocation records in the output, which are ignored at runtime by dyld">,
|
|
871 Flags<[HelpHidden]>,
|
|
872 Group<grp_rare>;
|
|
873 def warn_stabs : Flag<["-"], "warn_stabs">,
|
|
874 HelpText<"Warn when bad stab symbols inside a BINCL/EINCL prevent optimization">,
|
|
875 Flags<[HelpHidden]>,
|
|
876 Group<grp_rare>;
|
|
877 def warn_commons : Flag<["-"], "warn_commons">,
|
|
878 HelpText<"Warn when a tentative definition in an object file matches an external symbol in a dylib, which often means \"extern\" is missing from a variable declaration in a header file">,
|
|
879 Flags<[HelpHidden]>,
|
|
880 Group<grp_rare>;
|
|
881 def read_only_stubs : Flag<["-"], "read_only_stubs">,
|
|
882 HelpText<"On i386, make the __IMPORT segment of a final linked image read-only">,
|
|
883 Flags<[HelpHidden]>,
|
|
884 Group<grp_rare>;
|
|
885 def interposable_list : Separate<["-"], "interposable_list">,
|
|
886 MetaVarName<"<path>">,
|
|
887 HelpText<"Access global symbols listed in <path> indirectly">,
|
|
888 Flags<[HelpHidden]>,
|
|
889 Group<grp_rare>;
|
|
890 def no_function_starts : Flag<["-"], "no_function_starts">,
|
|
891 HelpText<"Do not create a table of function start addresses">,
|
|
892 Group<grp_rare>;
|
|
893 def no_objc_category_merging : Flag<["-"], "no_objc_category_merging">,
|
|
894 HelpText<"Do not merge Objective-C categories into their classes">,
|
|
895 Flags<[HelpHidden]>,
|
|
896 Group<grp_rare>;
|
|
897 def object_path_lto : Separate<["-"], "object_path_lto">,
|
|
898 MetaVarName<"<path>">,
|
|
899 HelpText<"Retain any temporary mach-o file in <path> that would otherwise be deleted during LTO">,
|
|
900 Group<grp_rare>;
|
|
901 def cache_path_lto : Separate<["-"], "cache_path_lto">,
|
|
902 MetaVarName<"<path>">,
|
|
903 HelpText<"Use <path> as a directory for the incremental LTO cache">,
|
|
904 Flags<[HelpHidden]>,
|
|
905 Group<grp_rare>;
|
|
906 def prune_interval_lto : Separate<["-"], "prune_interval_lto">,
|
|
907 MetaVarName<"<seconds>">,
|
|
908 HelpText<"Prune the incremental LTO cache after <seconds> (-1 disables pruning)">,
|
|
909 Flags<[HelpHidden]>,
|
|
910 Group<grp_rare>;
|
|
911 def prune_after_lto : Separate<["-"], "prune_after_lto">,
|
|
912 MetaVarName<"<seconds>">,
|
|
913 HelpText<"Remove LTO cache entries after <seconds>">,
|
|
914 Flags<[HelpHidden]>,
|
|
915 Group<grp_rare>;
|
|
916 def max_relative_cache_size_lto : Separate<["-"], "max_relative_cache_size_lto">,
|
|
917 MetaVarName<"<percent>">,
|
|
918 HelpText<"Limit the incremental LTO cache growth to <percent> of free disk, space">,
|
|
919 Flags<[HelpHidden]>,
|
|
920 Group<grp_rare>;
|
|
921 def page_align_data_atoms : Flag<["-"], "page_align_data_atoms">,
|
|
922 HelpText<"Distribute global variables on separate pages so page used/dirty status can guide creation of an order file to cluster commonly used/dirty globals">,
|
|
923 Flags<[HelpHidden]>,
|
|
924 Group<grp_rare>;
|
|
925 def not_for_dyld_shared_cache : Flag<["-"], "not_for_dyld_shared_cache">,
|
|
926 HelpText<"Prevent system dylibs from being placed into the dylib shared cache">,
|
|
927 Flags<[HelpHidden]>,
|
|
928 Group<grp_rare>;
|
|
929 def mllvm : Separate<["-"], "mllvm">,
|
|
930 HelpText<"Options to pass to LLVM">,
|
|
931 Group<grp_rare>;
|
|
932 def mcpu : Separate<["-"], "mcpu">,
|
|
933 HelpText<"Processor family target for LTO code generation">,
|
|
934 Group<grp_rare>;
|
173
|
935
|
207
|
936 def grp_deprecated : OptionGroup<"deprecated">, HelpText<"DEPRECATED">;
|
173
|
937
|
207
|
938 def lazy_framework : Separate<["-"], "lazy_framework">,
|
|
939 MetaVarName<"<name>">,
|
|
940 HelpText<"This option is deprecated and is now an alias for -framework.">,
|
|
941 Flags<[HelpHidden]>,
|
|
942 Group<grp_deprecated>;
|
|
943 def lazy_library : Separate<["-"], "lazy_library">,
|
|
944 MetaVarName<"<path>">,
|
|
945 HelpText<"This option is deprecated and is now an alias for regular linking">,
|
|
946 Flags<[HelpHidden]>,
|
|
947 Group<grp_deprecated>;
|
|
948 def lazy_l : Joined<["-"], "lazy-l">,
|
|
949 MetaVarName<"<name>">,
|
|
950 HelpText<"This option is deprecated and is now an alias for -l<path>.">,
|
|
951 Flags<[HelpHidden]>,
|
|
952 Group<grp_deprecated>;
|
|
953 def single_module : Flag<["-"], "single_module">,
|
|
954 HelpText<"Unnecessary option: this is already the default">,
|
|
955 Flags<[HelpHidden]>,
|
|
956 Group<grp_deprecated>;
|
|
957 def no_dead_strip_inits_and_terms : Flag<["-"], "no_dead_strip_inits_and_terms">,
|
|
958 HelpText<"Unnecessary option: initialization and termination are roots of the dead strip graph, so never dead stripped">,
|
|
959 Flags<[HelpHidden]>,
|
|
960 Group<grp_deprecated>;
|
|
961 def noall_load : Flag<["-"], "noall_load">,
|
|
962 HelpText<"Unnecessary option: this is already the default">,
|
|
963 Flags<[HelpHidden]>,
|
|
964 Group<grp_deprecated>;
|
|
965
|
|
966 def grp_obsolete : OptionGroup<"obsolete">, HelpText<"OBSOLETE">;
|
|
967
|
|
968 def sectorder : MultiArg<["-"], "sectorder", 3>,
|
|
969 MetaVarName<"<segname> <sectname> <orderfile>">,
|
|
970 HelpText<"Obsolete. Replaced by more general -order_file option">,
|
|
971 Group<grp_obsolete>;
|
|
972 def lto_library : Separate<["-"], "lto_library">,
|
|
973 MetaVarName<"<path>">,
|
|
974 HelpText<"Obsolete. LLD supports LTO directly, without using an external dylib.">,
|
|
975 Group<grp_obsolete>;
|
|
976 def y : Joined<["-"], "y">,
|
|
977 MetaVarName<"<symbol>">,
|
|
978 HelpText<"This option is obsolete in ld64">,
|
|
979 Flags<[HelpHidden]>,
|
|
980 Group<grp_obsolete>;
|
|
981 def sectobjectsymbols : MultiArg<["-"], "sectobjectsymbols", 2>,
|
|
982 MetaVarName<"<segname> <sectname>">,
|
|
983 HelpText<"This option is obsolete in ld64">,
|
|
984 Flags<[HelpHidden]>,
|
|
985 Group<grp_obsolete>;
|
|
986 def nofixprebinding : Flag<["-"], "nofixprebinding">,
|
|
987 HelpText<"This option is obsolete in ld64">,
|
|
988 Flags<[HelpHidden]>,
|
|
989 Group<grp_obsolete>;
|
|
990 def noprebind_all_twolevel_modules : Flag<["-"], "noprebind_all_twolevel_modules">,
|
|
991 HelpText<"This option is obsolete in ld64">,
|
|
992 Flags<[HelpHidden]>,
|
|
993 Group<grp_obsolete>;
|
|
994 def prebind_all_twolevel_modules : Flag<["-"], "prebind_all_twolevel_modules">,
|
|
995 HelpText<"This option is obsolete in ld64">,
|
|
996 Flags<[HelpHidden]>,
|
|
997 Group<grp_obsolete>;
|
|
998 def prebind_allow_overlap : Flag<["-"], "prebind_allow_overlap">,
|
|
999 HelpText<"This option is obsolete in ld64">,
|
|
1000 Flags<[HelpHidden]>,
|
|
1001 Group<grp_obsolete>;
|
|
1002 def noprebind : Flag<["-"], "noprebind">,
|
|
1003 HelpText<"This option is obsolete in ld64">,
|
|
1004 Flags<[HelpHidden]>,
|
|
1005 Group<grp_obsolete>;
|
|
1006 def sect_diff_relocs : Separate<["-"], "sect_diff_relocs">,
|
|
1007 MetaVarName<"<treatment>">,
|
|
1008 HelpText<"This option is obsolete in ld64">,
|
|
1009 Flags<[HelpHidden]>,
|
|
1010 Group<grp_obsolete>;
|
|
1011 def A : Separate<["-"], "A">,
|
|
1012 MetaVarName<"<basefile>">,
|
|
1013 HelpText<"This option is obsolete in ld64">,
|
|
1014 Flags<[HelpHidden]>,
|
|
1015 Group<grp_obsolete>;
|
|
1016 def b : Flag<["-"], "b">,
|
|
1017 HelpText<"This option is obsolete in ld64">,
|
|
1018 Flags<[HelpHidden]>,
|
|
1019 Group<grp_obsolete>;
|
|
1020 def Sn : Flag<["-"], "Sn">,
|
|
1021 HelpText<"This option is obsolete in ld64">,
|
|
1022 Flags<[HelpHidden]>,
|
|
1023 Group<grp_obsolete>;
|
|
1024 def Si : Flag<["-"], "Si">,
|
|
1025 HelpText<"This option is obsolete in ld64">,
|
|
1026 Flags<[HelpHidden]>,
|
|
1027 Group<grp_obsolete>;
|
|
1028 def Sp : Flag<["-"], "Sp">,
|
|
1029 HelpText<"This option is obsolete in ld64">,
|
|
1030 Flags<[HelpHidden]>,
|
|
1031 Group<grp_obsolete>;
|
|
1032 def X : Flag<["-"], "X">,
|
|
1033 HelpText<"This option is obsolete in ld64">,
|
|
1034 Flags<[HelpHidden]>,
|
|
1035 Group<grp_obsolete>;
|
|
1036 def s : Flag<["-"], "s">,
|
|
1037 HelpText<"This option is obsolete in ld64">,
|
|
1038 Flags<[HelpHidden]>,
|
|
1039 Group<grp_obsolete>;
|
|
1040 def m : Flag<["-"], "m">,
|
|
1041 HelpText<"This option is obsolete in ld64">,
|
|
1042 Flags<[HelpHidden]>,
|
|
1043 Group<grp_obsolete>;
|
|
1044 def Y : Separate<["-"], "Y">,
|
|
1045 MetaVarName<"<number>">,
|
|
1046 HelpText<"This option is obsolete in ld64">,
|
|
1047 Flags<[HelpHidden]>,
|
|
1048 Group<grp_obsolete>;
|
|
1049 def nomultidefs : Flag<["-"], "nomultidefs">,
|
|
1050 HelpText<"This option is obsolete in ld64">,
|
|
1051 Flags<[HelpHidden]>,
|
|
1052 Group<grp_obsolete>;
|
|
1053 def multiply_defined_unused : Separate<["-"], "multiply_defined_unused">,
|
|
1054 MetaVarName<"<treatment>">,
|
|
1055 HelpText<"This option is obsolete in ld64">,
|
|
1056 Flags<[HelpHidden]>,
|
|
1057 Group<grp_obsolete>;
|
|
1058 def multiply_defined : Separate<["-"], "multiply_defined">,
|
|
1059 MetaVarName<"<treatment>">,
|
|
1060 HelpText<"This option is obsolete in ld64">,
|
|
1061 Flags<[HelpHidden]>,
|
|
1062 Group<grp_obsolete>;
|
|
1063 def private_bundle : Flag<["-"], "private_bundle">,
|
|
1064 HelpText<"This option is obsolete in ld64">,
|
|
1065 Flags<[HelpHidden]>,
|
|
1066 Group<grp_obsolete>;
|
|
1067 def seg_addr_table_filename : Separate<["-"], "seg_addr_table_filename">,
|
|
1068 MetaVarName<"<path>">,
|
|
1069 HelpText<"This option is obsolete in ld64">,
|
|
1070 Flags<[HelpHidden]>,
|
|
1071 Group<grp_obsolete>;
|
|
1072 def sectorder_detail : Flag<["-"], "sectorder_detail">,
|
|
1073 HelpText<"This option is obsolete in ld64">,
|
|
1074 Flags<[HelpHidden]>,
|
|
1075 Group<grp_obsolete>;
|
|
1076 def no_compact_linkedit : Flag<["-"], "no_compact_linkedit">,
|
|
1077 HelpText<"This option is obsolete in ld64">,
|
|
1078 Flags<[HelpHidden]>,
|
|
1079 Group<grp_obsolete>;
|
|
1080 def dependent_dr_info : Flag<["-"], "dependent_dr_info">,
|
|
1081 HelpText<"This option is obsolete in ld64">,
|
|
1082 Flags<[HelpHidden]>,
|
|
1083 Group<grp_obsolete>;
|
|
1084 def no_dependent_dr_info : Flag<["-"], "no_dependent_dr_info">,
|
|
1085 HelpText<"This option is obsolete in ld64">,
|
|
1086 Flags<[HelpHidden]>,
|
|
1087 Group<grp_obsolete>;
|
|
1088 def seglinkedit : Flag<["-"], "seglinkedit">,
|
|
1089 HelpText<"This option is obsolete in ld64">,
|
|
1090 Flags<[HelpHidden]>,
|
|
1091 Group<grp_obsolete>;
|
|
1092 def noseglinkedit : Flag<["-"], "noseglinkedit">,
|
|
1093 HelpText<"This option is obsolete in ld64">,
|
|
1094 Flags<[HelpHidden]>,
|
|
1095 Group<grp_obsolete>;
|
|
1096 def fvmlib : Flag<["-"], "fvmlib">,
|
|
1097 HelpText<"This option is obsolete in ld64">,
|
|
1098 Flags<[HelpHidden]>,
|
|
1099 Group<grp_obsolete>;
|
|
1100 def run_init_lazily : Flag<["-"], "run_init_lazily">,
|
|
1101 HelpText<"This option is obsolete in ld64">,
|
|
1102 Flags<[HelpHidden]>,
|
|
1103 Group<grp_obsolete>;
|
|
1104 def prebind : Flag<["-"], "prebind">,
|
|
1105 HelpText<"This option is obsolete in ld64">,
|
|
1106 Flags<[HelpHidden]>,
|
|
1107 Group<grp_obsolete>;
|
|
1108 def twolevel_namespace_hints : Flag<["-"], "twolevel_namespace_hints">,
|
|
1109 HelpText<"This option is obsolete in ld64">,
|
|
1110 Flags<[HelpHidden]>,
|
|
1111 Group<grp_obsolete>;
|
|
1112 def slow_stubs : Flag<["-"], "slow_stubs">,
|
|
1113 HelpText<"This option is obsolete in ld64">,
|
|
1114 Flags<[HelpHidden]>,
|
|
1115 Group<grp_obsolete>;
|
|
1116
|
|
1117 def grp_undocumented : OptionGroup<"undocumented">, HelpText<"UNDOCUMENTED">;
|
173
|
1118
|
207
|
1119 def add_linker_option : Flag<["-"], "add_linker_option">,
|
|
1120 HelpText<"This option is undocumented in ld64">,
|
|
1121 Flags<[HelpHidden]>,
|
|
1122 Group<grp_undocumented>;
|
|
1123 def add_source_version : Flag<["-"], "add_source_version">,
|
|
1124 HelpText<"This option is undocumented in ld64">,
|
|
1125 Flags<[HelpHidden]>,
|
|
1126 Group<grp_undocumented>;
|
|
1127 def no_source_version : Flag<["-"], "no_source_version">,
|
|
1128 HelpText<"This option is undocumented in ld64">,
|
|
1129 Flags<[HelpHidden]>,
|
|
1130 Group<grp_undocumented>;
|
|
1131 def add_split_seg_info : Flag<["-"], "add_split_seg_info">,
|
|
1132 HelpText<"This option is undocumented in ld64">,
|
|
1133 Flags<[HelpHidden]>,
|
|
1134 Group<grp_undocumented>;
|
|
1135 def allow_dead_duplicates : Flag<["-"], "allow_dead_duplicates">,
|
|
1136 HelpText<"This option is undocumented in ld64">,
|
|
1137 Flags<[HelpHidden]>,
|
|
1138 Group<grp_undocumented>;
|
|
1139 def allow_simulator_linking_to_macosx_dylibs : Flag<["-"], "allow_simulator_linking_to_macosx_dylibs">,
|
|
1140 HelpText<"This option is undocumented in ld64">,
|
|
1141 Flags<[HelpHidden]>,
|
|
1142 Group<grp_undocumented>;
|
|
1143 def bitcode_process_mode : Flag<["-"], "bitcode_process_mode">,
|
|
1144 HelpText<"This option is undocumented in ld64">,
|
|
1145 Flags<[HelpHidden]>,
|
|
1146 Group<grp_undocumented>;
|
|
1147 def bitcode_verify : Flag<["-"], "bitcode_verify">,
|
|
1148 HelpText<"This option is undocumented in ld64">,
|
|
1149 Flags<[HelpHidden]>,
|
|
1150 Group<grp_undocumented>;
|
|
1151 def classic_linker : Flag<["-"], "classic_linker">,
|
|
1152 HelpText<"This option is undocumented in ld64">,
|
|
1153 Flags<[HelpHidden]>,
|
|
1154 Group<grp_undocumented>;
|
|
1155 def data_in_code_info : Flag<["-"], "data_in_code_info">,
|
|
1156 HelpText<"This option is undocumented in ld64">,
|
|
1157 Flags<[HelpHidden]>,
|
|
1158 Group<grp_undocumented>;
|
|
1159 def no_data_in_code_info : Flag<["-"], "no_data_in_code_info">,
|
|
1160 HelpText<"This option is undocumented in ld64">,
|
|
1161 Flags<[HelpHidden]>,
|
|
1162 Group<grp_undocumented>;
|
|
1163 def debug_snapshot : Flag<["-"], "debug_snapshot">,
|
|
1164 HelpText<"This option is undocumented in ld64">,
|
|
1165 Flags<[HelpHidden]>,
|
|
1166 Group<grp_undocumented>;
|
|
1167 def demangle : Flag<["-"], "demangle">,
|
|
1168 HelpText<"Demangle symbol names in diagnostics">;
|
|
1169 def dyld_env : Flag<["-"], "dyld_env">,
|
|
1170 HelpText<"This option is undocumented in ld64">,
|
|
1171 Flags<[HelpHidden]>,
|
|
1172 Group<grp_undocumented>;
|
|
1173 def encryptable : Flag<["-"], "encryptable">,
|
|
1174 HelpText<"Generate the LC_ENCRYPTION_INFO load command">,
|
|
1175 Group<grp_undocumented>;
|
|
1176 def no_encryption : Flag<["-"], "no_encryption">,
|
|
1177 HelpText<"Do not generate the LC_ENCRYPTION_INFO load command">,
|
|
1178 Group<grp_undocumented>;
|
|
1179 def executable_path : Flag<["-"], "executable_path">,
|
|
1180 HelpText<"This option is undocumented in ld64">,
|
|
1181 Flags<[HelpHidden]>,
|
|
1182 Group<grp_undocumented>;
|
|
1183 def fixup_chains : Flag<["-"], "fixup_chains">,
|
|
1184 HelpText<"This option is undocumented in ld64">,
|
|
1185 Flags<[HelpHidden]>,
|
|
1186 Group<grp_undocumented>;
|
|
1187 def fixup_chains_section : Flag<["-"], "fixup_chains_section">,
|
|
1188 HelpText<"This option is undocumented in ld64">,
|
|
1189 Flags<[HelpHidden]>,
|
|
1190 Group<grp_undocumented>;
|
|
1191 def flto_codegen_only : Flag<["-"], "flto-codegen-only">,
|
|
1192 HelpText<"This option is undocumented in ld64">,
|
|
1193 Flags<[HelpHidden]>,
|
|
1194 Group<grp_undocumented>;
|
|
1195 def force_load_swift_libs : Flag<["-"], "force_load_swift_libs">,
|
|
1196 HelpText<"This option is undocumented in ld64">,
|
|
1197 Flags<[HelpHidden]>,
|
|
1198 Group<grp_undocumented>;
|
|
1199 def force_symbol_not_weak : Flag<["-"], "force_symbol_not_weak">,
|
|
1200 HelpText<"This option is undocumented in ld64">,
|
|
1201 Flags<[HelpHidden]>,
|
|
1202 Group<grp_undocumented>;
|
|
1203 def force_symbols_coalesce_list : Flag<["-"], "force_symbols_coalesce_list">,
|
|
1204 HelpText<"This option is undocumented in ld64">,
|
|
1205 Flags<[HelpHidden]>,
|
|
1206 Group<grp_undocumented>;
|
|
1207 def force_symbols_not_weak_list : Flag<["-"], "force_symbols_not_weak_list">,
|
|
1208 HelpText<"This option is undocumented in ld64">,
|
|
1209 Flags<[HelpHidden]>,
|
|
1210 Group<grp_undocumented>;
|
|
1211 def force_symbols_weak_list : Flag<["-"], "force_symbols_weak_list">,
|
|
1212 HelpText<"This option is undocumented in ld64">,
|
|
1213 Flags<[HelpHidden]>,
|
|
1214 Group<grp_undocumented>;
|
|
1215 def force_symbol_weak : Flag<["-"], "force_symbol_weak">,
|
|
1216 HelpText<"This option is undocumented in ld64">,
|
|
1217 Flags<[HelpHidden]>,
|
|
1218 Group<grp_undocumented>;
|
|
1219 def function_starts : Flag<["-"], "function_starts">,
|
|
1220 HelpText<"This option is undocumented in ld64">,
|
|
1221 Flags<[HelpHidden]>,
|
|
1222 Group<grp_undocumented>;
|
|
1223 def i : Flag<["-"], "i">,
|
|
1224 HelpText<"This option is undocumented in ld64">,
|
|
1225 Flags<[HelpHidden]>,
|
|
1226 Group<grp_undocumented>;
|
|
1227 def ignore_auto_link : Flag<["-"], "ignore_auto_link">,
|
|
1228 HelpText<"This option is undocumented in ld64">,
|
|
1229 Flags<[HelpHidden]>,
|
|
1230 Group<grp_undocumented>;
|
|
1231 def ignore_optimization_hints : Flag<["-"], "ignore_optimization_hints">,
|
|
1232 HelpText<"This option is undocumented in ld64">,
|
|
1233 Flags<[HelpHidden]>,
|
|
1234 Group<grp_undocumented>;
|
|
1235 def init_offsets : Flag<["-"], "init_offsets">,
|
|
1236 HelpText<"This option is undocumented in ld64">,
|
|
1237 Flags<[HelpHidden]>,
|
|
1238 Group<grp_undocumented>;
|
|
1239 def keep_dwarf_unwind : Flag<["-"], "keep_dwarf_unwind">,
|
|
1240 HelpText<"This option is undocumented in ld64">,
|
|
1241 Flags<[HelpHidden]>,
|
|
1242 Group<grp_undocumented>;
|
|
1243 def no_keep_dwarf_unwind : Flag<["-"], "no_keep_dwarf_unwind">,
|
|
1244 HelpText<"This option is undocumented in ld64">,
|
|
1245 Flags<[HelpHidden]>,
|
|
1246 Group<grp_undocumented>;
|
|
1247 def kext : Flag<["-"], "kext">,
|
|
1248 HelpText<"This option is undocumented in ld64">,
|
|
1249 Flags<[HelpHidden]>,
|
|
1250 Group<grp_undocumented>;
|
|
1251 def kext_objects_dir : Flag<["-"], "kext_objects_dir">,
|
|
1252 HelpText<"This option is undocumented in ld64">,
|
|
1253 Flags<[HelpHidden]>,
|
|
1254 Group<grp_undocumented>;
|
|
1255 def no_kext_objects : Flag<["-"], "no_kext_objects">,
|
|
1256 HelpText<"This option is undocumented in ld64">,
|
|
1257 Flags<[HelpHidden]>,
|
|
1258 Group<grp_undocumented>;
|
|
1259 def kexts_use_stubs : Flag<["-"], "kexts_use_stubs">,
|
|
1260 HelpText<"This option is undocumented in ld64">,
|
|
1261 Flags<[HelpHidden]>,
|
|
1262 Group<grp_undocumented>;
|
|
1263 def no_compact_unwind : Flag<["-"], "no_compact_unwind">,
|
|
1264 HelpText<"This option is undocumented in ld64">,
|
|
1265 Flags<[HelpHidden]>,
|
|
1266 Group<grp_undocumented>;
|
|
1267 def no_dtrace_dof : Flag<["-"], "no_dtrace_dof">,
|
|
1268 HelpText<"This option is undocumented in ld64">,
|
|
1269 Flags<[HelpHidden]>,
|
|
1270 Group<grp_undocumented>;
|
|
1271 def no_new_main : Flag<["-"], "no_new_main">,
|
|
1272 HelpText<"This option is undocumented in ld64">,
|
|
1273 Flags<[HelpHidden]>,
|
|
1274 Group<grp_undocumented>;
|
|
1275 def objc_abi_version : Separate<["-"], "objc_abi_version">,
|
|
1276 HelpText<"This option is undocumented in ld64">,
|
|
1277 Flags<[HelpHidden]>,
|
|
1278 Group<grp_undocumented>;
|
|
1279 def pause : Flag<["-"], "pause">,
|
|
1280 HelpText<"This option is undocumented in ld64">,
|
|
1281 Flags<[HelpHidden]>,
|
|
1282 Group<grp_undocumented>;
|
|
1283 def random_uuid : Flag<["-"], "random_uuid">,
|
|
1284 HelpText<"This option is undocumented in ld64">,
|
|
1285 Flags<[HelpHidden]>,
|
|
1286 Group<grp_undocumented>;
|
|
1287 def simulator_support : Flag<["-"], "simulator_support">,
|
|
1288 HelpText<"This option is undocumented in ld64">,
|
|
1289 Flags<[HelpHidden]>,
|
|
1290 Group<grp_undocumented>;
|
|
1291 def snapshot_dir : Flag<["-"], "snapshot_dir">,
|
|
1292 HelpText<"This option is undocumented in ld64">,
|
|
1293 Flags<[HelpHidden]>,
|
|
1294 Group<grp_undocumented>;
|
|
1295 def source_version : Flag<["-"], "source_version">,
|
|
1296 HelpText<"This option is undocumented in ld64">,
|
|
1297 Flags<[HelpHidden]>,
|
|
1298 Group<grp_undocumented>;
|
|
1299 def threaded_starts_section : Flag<["-"], "threaded_starts_section">,
|
|
1300 HelpText<"This option is undocumented in ld64">,
|
|
1301 Flags<[HelpHidden]>,
|
|
1302 Group<grp_undocumented>;
|
|
1303 def verbose_optimization_hints : Flag<["-"], "verbose_optimization_hints">,
|
|
1304 HelpText<"This option is undocumented in ld64">,
|
|
1305 Flags<[HelpHidden]>,
|
|
1306 Group<grp_undocumented>;
|
|
1307 def version_load_command : Flag<["-"], "version_load_command">,
|
|
1308 HelpText<"This option is undocumented in ld64">,
|
|
1309 Flags<[HelpHidden]>,
|
|
1310 Group<grp_undocumented>;
|
|
1311
|
|
1312 def grp_ignored : OptionGroup<"ignored">, HelpText<"IGNORED">;
|
|
1313
|
|
1314 def M : Flag<["-"], "M">,
|
|
1315 HelpText<"This option is ignored in ld64">,
|
|
1316 Flags<[HelpHidden]>,
|
|
1317 Group<grp_ignored>;
|
|
1318 def new_linker : Flag<["-"], "new_linker">,
|
|
1319 HelpText<"This option is ignored in ld64">,
|
|
1320 Flags<[HelpHidden]>,
|
|
1321 Group<grp_ignored>;
|