1 include "llvm/Option/OptParser.td"
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.
7 def help : Flag<["-", "--"], "help">;
8 def help_hidden : Flag<["--"], "help-hidden">,
9 HelpText<"Display help for hidden options">;
10 def color_diagnostics: Flag<["--"], "color-diagnostics">,
11 HelpText<"Alias for --color-diagnostics=always">;
12 def no_color_diagnostics: Flag<["--"], "no-color-diagnostics">,
13 HelpText<"Alias for --color-diagnostics=never">;
14 def color_diagnostics_eq: Joined<["--"], "color-diagnostics=">,
15 HelpText<"Use colors in diagnostics (default: auto)">,
16 MetaVarName<"[auto,always,never]">;
17 def reproduce: Separate<["--"], "reproduce">;
18 def reproduce_eq: Joined<["--"], "reproduce=">,
19 Alias<!cast<Separate>(reproduce)>,
20 HelpText<"Write tar file containing inputs and command to reproduce link">;
23 // This is a complete Options.td compiled from Apple's ld(1) manpage
24 // dated 2018-03-07 and cross checked with ld64 source code in repo
25 // https://github.com/apple-opensource/ld64 at git tag "512.4" dated
28 // Flags<[HelpHidden]> marks options that are not yet ported to lld,
29 // and serve as a scoreboard for annotating our progress toward
30 // implementing ld64 options in lld. As you add implementions to
31 // Driver.cpp, please remove the hidden flag here.
33 def grp_kind : OptionGroup<"kind">, HelpText<"OUTPUT KIND">;
35 def execute : Flag<["-"], "execute">,
36 HelpText<"Produce a main executable (default)">,
38 def dylib : Flag<["-"], "dylib">,
39 HelpText<"Produce a shared library">,
41 def bundle : Flag<["-"], "bundle">,
42 HelpText<"Produce a bundle">,
44 def r : Flag<["-"], "r">,
45 HelpText<"Merge multiple object files into one, retaining relocations">,
48 def dylinker : Flag<["-"], "dylinker">,
49 HelpText<"Produce a dylinker only used when building dyld">,
52 def dynamic : Flag<["-"], "dynamic">,
53 HelpText<"Link dynamically (default)">,
55 def static : Flag<["-"], "static">,
56 HelpText<"Link statically">,
59 def preload : Flag<["-"], "preload">,
60 HelpText<"Produce an unsegmented binary for embedded systems">,
63 def arch : Separate<["-"], "arch">,
64 MetaVarName<"<arch_name>">,
65 HelpText<"The architecture (e.g. ppc, ppc64, i386, x86_64)">,
67 def o : Separate<["-"], "o">,
68 MetaVarName<"<path>">,
69 HelpText<"The name of the output file (default: `a.out')">,
72 def grp_libs : OptionGroup<"libs">, HelpText<"LIBRARIES">;
74 def l : Joined<["-"], "l">,
75 MetaVarName<"<name>">,
76 HelpText<"Search for lib<name>.dylib or lib<name>.a on the library search path">,
78 def weak_l : Joined<["-"], "weak-l">,
79 MetaVarName<"<name>">,
80 HelpText<"Like -l<name>, but mark library and its references as weak imports">,
82 def weak_library : Separate<["-"], "weak_library">,
83 MetaVarName<"<path>">,
84 HelpText<"Like bare <path>, but mark library and its references as weak imports">,
86 def reexport_l : Joined<["-"], "reexport-l">,
87 MetaVarName<"<name>">,
88 HelpText<"Like -l<name>, but export all symbols of <name> from newly created library">,
91 def reexport_library : Separate<["-"], "reexport_library">,
92 MetaVarName<"<path>">,
93 HelpText<"Like bare <path>, but export all symbols of <path> from newly created library">,
96 def upward_l : Joined<["-"], "upward-l">,
97 MetaVarName<"<name>">,
98 HelpText<"Like -l<name>, but specify dylib as an upward dependency">,
101 def upward_library : Separate<["-"], "upward_library">,
102 MetaVarName<"<path>">,
103 HelpText<"Like bare <path>, but specify dylib as an upward dependency">,
106 def L : JoinedOrSeparate<["-"], "L">,
107 MetaVarName<"<dir>">,
108 HelpText<"Add dir to the library search path">,
110 def Z : Flag<["-"], "Z">,
111 HelpText<"Remove standard directories from the library and framework search paths">,
113 def syslibroot : Separate<["-"], "syslibroot">,
114 MetaVarName<"<rootdir>">,
115 HelpText<"Prepend <rootdir> to all library and framework search paths">,
117 def search_paths_first : Flag<["-"], "search_paths_first">,
118 HelpText<"Search for lib<name>.dylib and lib<name>.a at each step in traversing search path (default for Xcode 4 and later)">,
120 def search_dylibs_first : Flag<["-"], "search_dylibs_first">,
121 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)">,
123 def framework : Separate<["-"], "framework">,
124 MetaVarName<"<name>">,
125 HelpText<"Search for <name>.framework/<name> on the framework search path">,
127 def weak_framework : Separate<["-"], "weak_framework">,
128 MetaVarName<"<name>">,
129 HelpText<"Like -framework <name>, but mark framework and its references as weak imports">,
131 def reexport_framework : Separate<["-"], "reexport_framework">,
132 MetaVarName<"<name>">,
133 HelpText<"Like -framework <name>, but export all symbols of <name> from the newly created library">,
136 def upward_framework : Separate<["-"], "upward_framework">,
137 MetaVarName<"<name>">,
138 HelpText<"Like -framework <name>, but specify the framework as an upward dependency">,
141 def F : JoinedOrSeparate<["-"], "F">,
142 MetaVarName<"<dir>">,
143 HelpText<"Add dir to the framework search path">,
145 def all_load : Flag<["-"], "all_load">,
146 HelpText<"Load all members of all static archive libraries">,
148 def ObjC : Flag<["-"], "ObjC">,
149 HelpText<"Load all members of static archives that are an Objective-C class or category.">,
151 def force_load : Separate<["-"], "force_load">,
152 MetaVarName<"<path>">,
153 HelpText<"Load all members static archive library at <path>">,
156 def grp_content : OptionGroup<"content">, HelpText<"ADDITIONAL CONTENT">;
158 def sectcreate : MultiArg<["-"], "sectcreate", 3>,
159 MetaVarName<"<segment> <section> <file>">,
160 HelpText<"Create <section> in <segment> from the contents of <file>">,
162 def segcreate : MultiArg<["-"], "segcreate", 3>,
163 MetaVarName<"<segment> <section> <file>">,
165 HelpText<"Alias for -sectcreate">,
168 def filelist : Separate<["-"], "filelist">,
169 MetaVarName<"<file>">,
170 HelpText<"Read names of files to link from <file>">,
172 def dtrace : Separate<["-"], "dtrace">,
173 MetaVarName<"<script>">,
174 HelpText<"Enable DTrace static probes according to declarations in <script>">,
178 def grp_opts : OptionGroup<"opts">, HelpText<"OPTIMIZATIONS">;
180 def dead_strip : Flag<["-"], "dead_strip">,
181 HelpText<"Remove unreachable functions and data">,
184 def order_file : Separate<["-"], "order_file">,
185 MetaVarName<"<file>">,
186 HelpText<"Layout functions and data according to specification in <file>">,
188 def sectorder : MultiArg<["-"], "sectorder", 3>,
189 MetaVarName<"<segname> <sectname> <orderfile>">,
190 HelpText<"Replaced by more general -order_file option">,
193 def no_order_inits : Flag<["-"], "no_order_inits">,
194 HelpText<"Disable default reordering of initializer and terminator functions">,
197 def no_order_data : Flag<["-"], "no_order_data">,
198 HelpText<"Disable default reordering of global data accessed at launch time">,
201 def platform_version : MultiArg<["-"], "platform_version", 3>,
202 MetaVarName<"<platform> <min_version> <sdk_version>">,
203 HelpText<"Platform (e.g., macos, ios, tvos, watchos, bridgeos, mac-catalyst, ios-sim, tvos-sim, watchos-sim, driverkit) and version numbers">,
205 def sdk_version : Separate<["-"], "sdk_version">,
206 HelpText<"This option is undocumented in ld64">,
209 def macos_version_min : Separate<["-"], "macos_version_min">,
210 MetaVarName<"<version>">,
211 HelpText<"Oldest macOS version for which linked output is useable">,
214 def macosx_version_min : Separate<["-"], "macosx_version_min">,
215 MetaVarName<"<version>">,
216 Alias<macos_version_min>,
217 HelpText<"Alias for -macos_version_min">,
220 def ios_version_min : Separate<["-"], "ios_version_min">,
221 MetaVarName<"<version>">,
222 HelpText<"Oldest iOS version for which linked output is useable">,
225 def ios_simulator_version_min : Separate<["-"], "ios_simulator_version_min">,
226 MetaVarName<"<version>">,
227 HelpText<"Oldest iOS simulator version for which linked output is useable">,
230 def iphoneos_version_min : Separate<["-"], "iphoneos_version_min">,
231 MetaVarName<"<version>">,
232 Alias<ios_version_min>,
233 HelpText<"Alias for -ios_version_min">,
236 def image_base : Separate<["-"], "image_base">,
237 MetaVarName<"<address>">,
238 HelpText<"Preferred hex load address for a dylib or bundle.">,
241 def seg1addr : Separate<["-"], "seg1addr">,
242 MetaVarName<"<address>">,
244 HelpText<"Alias for -image_base">,
247 def no_implicit_dylibs : Flag<["-"], "no_implicit_dylibs">,
248 HelpText<"Do not optimize public dylib transitive symbol references">,
250 def exported_symbols_order : Separate<["-"], "exported_symbols_order">,
251 MetaVarName<"<file>">,
252 HelpText<"Specify frequently-used symbols in <file> to optimize symbol exports">,
255 def no_zero_fill_sections : Flag<["-"], "no_zero_fill_sections">,
256 HelpText<"Explicitly store zeroed data in the final image">,
259 def merge_zero_fill_sections : Flag<["-"], "merge_zero_fill_sections">,
260 HelpText<"Merge all zeroed data into the __zerofill section">,
263 def no_branch_islands : Flag<["-"], "no_branch_islands">,
264 HelpText<"Disable infra for branches beyond the maximum branch distance.">,
268 def grp_dylib : OptionGroup<"dylib">, HelpText<"DYNAMIC LIBRARIES (DYLIB)">;
270 def install_name : Separate<["-"], "install_name">,
271 MetaVarName<"<name>">,
272 HelpText<"Set an internal install path in a dylib">,
274 def dylib_install_name : Separate<["-"], "dylib_install_name">,
275 MetaVarName<"<name>">,
277 HelpText<"Alias for -install_name">,
280 def dylinker_install_name : Separate<["-"], "dylinker_install_name">,
281 MetaVarName<"<name>">,
283 HelpText<"Alias for -install_name">,
286 def mark_dead_strippable_dylib : Flag<["-"], "mark_dead_strippable_dylib">,
287 HelpText<"Clients can discard this dylib if it is unreferenced">,
290 def compatibility_version : Separate<["-"], "compatibility_version">,
291 MetaVarName<"<version>">,
292 HelpText<"Compatibility <version> of this library">,
294 def dylib_compatibility_version : Separate<["-"], "dylib_compatibility_version">,
295 MetaVarName<"<version>">,
296 Alias<compatibility_version>,
297 HelpText<"Alias for -compatibility_version">,
300 def current_version : Separate<["-"], "current_version">,
301 MetaVarName<"<version>">,
302 HelpText<"Current <version> of this library">,
304 def dylib_current_version : Separate<["-"], "dylib_current_version">,
305 MetaVarName<"<version>">,
306 Alias<current_version>,
307 HelpText<"Alias for -current_version">,
311 def grp_main : OptionGroup<"main">, HelpText<"MAIN EXECUTABLE">;
313 def pie : Flag<["-"], "pie">,
314 HelpText<"Build a position independent executable (default for macOS 10.7 and later)">,
316 def no_pie : Flag<["-"], "no_pie">,
317 HelpText<"Do not build a position independent executable (default for macOS 10.6 and earlier)">,
319 def pagezero_size : Separate<["-"], "pagezero_size">,
320 MetaVarName<"<size>">,
321 HelpText<"Size of unreadable segment at address zero is hex <size> (default is 4KB on 32-bit and 4GB on 64-bit)">,
324 def stack_size : Separate<["-"], "stack_size">,
325 MetaVarName<"<size>">,
326 HelpText<"Maximum hex stack size for the main thread in a program. (default is 8MB)">,
329 def allow_stack_execute : Flag<["-"], "allow_stack_execute">,
330 HelpText<"Mark stack segment as executable">,
333 def export_dynamic : Flag<["-"], "export_dynamic">,
334 HelpText<"Preserve all global symbols during LTO">,
338 def grp_bundle : OptionGroup<"bundle">, HelpText<"CREATING A BUNDLE">;
340 def bundle_loader : Separate<["-"], "bundle_loader">,
341 MetaVarName<"<executable>">,
342 HelpText<"Resolve undefined symbols from <executable>">,
346 def grp_object : OptionGroup<"object">, HelpText<"CREATING AN OBJECT FILE">;
348 def keep_private_externs : Flag<["-"], "keep_private_externs">,
349 HelpText<"Do not convert private external symbols to static symbols">,
352 def d : Flag<["-"], "d">,
353 HelpText<"Force tentative into real definitions for common symbols">,
357 def grp_resolve : OptionGroup<"resolve">, HelpText<"SYMBOL RESOLUTION">;
359 def exported_symbols_list : Separate<["-"], "exported_symbols_list">,
360 MetaVarName<"<file>">,
361 HelpText<"Symbols specified in <file> remain global, while others become private externs">,
364 def exported_symbol : Separate<["-"], "exported_symbol">,
365 MetaVarName<"<symbol>">,
366 HelpText<"<symbol> remains global, while others become private externs">,
369 def unexported_symbols_list : Separate<["-"], "unexported_symbols_list">,
370 MetaVarName<"<file>">,
371 HelpText<"Global symbols specified in <file> become private externs">,
374 def unexported_symbol : Separate<["-"], "unexported_symbol">,
375 MetaVarName<"<symbol>">,
376 HelpText<"Global <symbol> becomes private extern">,
379 def reexported_symbols_list : Separate<["-"], "reexported_symbols_list">,
380 MetaVarName<"<file>">,
381 HelpText<"Symbols from dependent dylibs specified in <file> are reexported by this dylib">,
384 def alias : MultiArg<["-"], "alias", 2>,
385 MetaVarName<"<symbol_name> <alternate_name>">,
386 HelpText<"Create a symbol alias with default global visibility">,
389 def alias_list : Separate<["-"], "alias_list">,
390 MetaVarName<"<file>">,
391 HelpText<"Create symbol aliases specified in <file>">,
394 def flat_namespace : Flag<["-"], "flat_namespace">,
395 HelpText<"Resolve symbols from all dylibs, both direct & transitive. Do not record source libraries: dyld must re-search at runtime and use the first definition found">,
398 def u : Separate<["-"], "u">,
399 MetaVarName<"<symbol>">,
400 HelpText<"Require that <symbol> be defined for the link to succeed">,
403 def U : Separate<["-"], "U">,
404 MetaVarName<"<symbol>">,
405 HelpText<"Allow <symbol> to have no definition">,
408 def undefined : Separate<["-"], "undefined">,
409 MetaVarName<"<treatment>">,
410 HelpText<"Handle undefined symbols according to <treatment>: error, warning, suppress, or dynamic_lookup (default is error)">,
413 def rpath : Separate<["-"], "rpath">,
414 MetaVarName<"<path>">,
415 HelpText<"Add <path> to dyld search list for dylibs with load path prefix `@rpath/'">,
417 def commons : Separate<["-"], "commons">,
418 MetaVarName<"<treatment>">,
419 HelpText<"Resolve tentative definitions in dylibs according to <treatment>: ignore_dylibs, use_dylibs, error (default is ignore_dylibs)">,
423 def grp_introspect : OptionGroup<"introspect">, HelpText<"INTROSPECTING THE LINKER">;
425 def why_load : Flag<["-"], "why_load">,
426 HelpText<"Log why each object file is loaded from a static library">,
427 Group<grp_introspect>;
428 def whyload : Flag<["-"], "whyload">,
430 HelpText<"Alias for -why_load">,
432 Group<grp_introspect>;
433 def why_live : Separate<["-"], "why_live">,
434 MetaVarName<"<symbol>">,
435 HelpText<"Log a chain of references to <symbol>, for use with -dead_strip">,
437 Group<grp_introspect>;
438 def print_statistics : Flag<["-"], "print_statistics">,
439 HelpText<"Log the linker's memory and CPU usage">,
441 Group<grp_introspect>;
442 def t : Flag<["-"], "t">,
443 HelpText<"Log every file the linker loads: object, archive, and dylib">,
444 Group<grp_introspect>;
445 def whatsloaded : Flag<["-"], "whatsloaded">,
446 HelpText<"Logs only the object files the linker loads">,
448 Group<grp_introspect>;
449 def order_file_statistics : Flag<["-"], "order_file_statistics">,
450 HelpText<"Logs information about -order_file">,
452 Group<grp_introspect>;
453 def map : Separate<["-"], "map">,
454 MetaVarName<"<path>">,
455 HelpText<"Writes all symbols and their addresses to <path>">,
457 Group<grp_introspect>;
458 def dependency_info : Separate<["-"], "dependency_info">,
459 MetaVarName<"<path>">,
460 HelpText<"Dump dependency info">,
462 Group<grp_introspect>;
463 def save_temps : Flag<["-"], "save-temps">,
464 HelpText<"Save temporary files instead of deleting them">,
465 Group<grp_introspect>;
467 def grp_symtab : OptionGroup<"symtab">, HelpText<"SYMBOL TABLE OPTIMIZATIONS">;
469 def S : Flag<["-"], "S">,
470 HelpText<"Strip debug information (STABS or DWARF) from the output">,
473 def x : Flag<["-"], "x">,
474 HelpText<"Exclude non-global symbols from the output symbol table">,
477 def non_global_symbols_strip_list : Separate<["-"], "non_global_symbols_strip_list">,
478 MetaVarName<"<path>">,
479 HelpText<"Specify in <path> the non-global symbols that should be removed from the output symbol table">,
482 def non_global_symbols_no_strip_list : Separate<["-"], "non_global_symbols_no_strip_list">,
483 MetaVarName<"<path>">,
484 HelpText<"Specify in <path> the non-global symbols that should remain in the output symbol table">,
487 def oso_prefix : Separate<["-"], "oso_prefix">,
488 MetaVarName<"<path>">,
489 HelpText<"Remove the prefix <path> from OSO symbols in the debug map">,
493 def grp_bitcode : OptionGroup<"bitcode">, HelpText<"BITCODE BUILD FLOW">;
495 def bitcode_bundle : Flag<["-"], "bitcode_bundle">,
496 HelpText<"Generate an embedded bitcode bundle in the __LLVM,__bundle section of the output">,
499 def bitcode_hide_symbols : Flag<["-"], "bitcode_hide_symbols">,
500 HelpText<"With -bitcode_bundle, hide all non-exported symbols from output bitcode bundle.">,
503 def bitcode_symbol_map : Separate<["-"], "bitcode_symbol_map">,
504 MetaVarName<"<path>">,
505 HelpText<"Write the bitcode symbol reverse mapping to file <path>, or if a directory, to <path>/UUID.bcsymbolmap">,
509 def grp_rare : OptionGroup<"rare">, HelpText<"RARELY USED">;
511 def v : Flag<["-"], "v">,
512 HelpText<"Print the linker version">,
514 def version_details : Flag<["-"], "version_details">,
515 HelpText<"Print the linker version in JSON form">,
518 def no_weak_imports : Flag<["-"], "no_weak_imports">,
519 HelpText<"Fail if any symbols are weak imports, allowed to be NULL at runtime">,
522 def no_deduplicate : Flag<["-"], "no_deduplicate">,
523 HelpText<"Omit the deduplication pass">,
526 def verbose_deduplicate : Flag<["-"], "verbose_deduplicate">,
527 HelpText<"Print function names eliminated by deduplication and the total size of code savings">,
530 def no_inits : Flag<["-"], "no_inits">,
531 HelpText<"Fail if the output contains static initializers">,
534 def no_warn_inits : Flag<["-"], "no_warn_inits">,
535 HelpText<"Suppress warnings for static initializers in the output">,
538 def debug_variant : Flag<["-"], "debug_variant">,
539 HelpText<"Suppress warnings germane to binaries shipping to customers">,
542 def unaligned_pointers : Separate<["-"], "unaligned_pointers">,
543 MetaVarName<"<treatment>">,
544 HelpText<"Handle unaligned pointers in __DATA segments according to <treatment>: warning, error, or suppress (default for arm64e is error, otherwise suppress)">,
547 def dirty_data_list : Separate<["-"], "dirty_data_list">,
548 MetaVarName<"<path>">,
549 HelpText<"Specify data symbols in <path> destined for the __DATA_DIRTY segment">,
552 def max_default_common_align : Separate<["-"], "max_default_common_align">,
553 MetaVarName<"<boundary>">,
554 HelpText<"Reduce maximum alignment for common symbols to a hex power-of-2 <boundary>">,
557 def move_to_rw_segment : MultiArg<["-"], "move_to_rw_segment", 2>,
558 MetaVarName<"<segment> <path>">,
559 HelpText<"Move data symbols listed in <path> to another <segment>">,
562 def move_to_ro_segment : MultiArg<["-"], "move_to_ro_segment", 2>,
563 MetaVarName<"<segment> <path>">,
564 HelpText<"Move code symbols listed in <path> to another <segment>">,
567 def rename_section : MultiArg<["-"], "rename_section", 4>,
568 MetaVarName<"<from_segment> <from_section> <to_segment> <to_section>">,
569 HelpText<"Rename <from_segment>/<from_section> as <to_segment>/<to_section>">,
572 def rename_segment : MultiArg<["-"], "rename_segment", 2>,
573 MetaVarName<"<from_segment> <to_segment>">,
574 HelpText<"Rename <from_segment> as <to_segment>">,
577 def trace_symbol_layout : Flag<["-"], "trace_symbol_layout">,
578 HelpText<"Show where and why symbols move, as specified by -move_to_ro_segment, -move_to_rw_segment, -rename_section, and -rename_segment">,
581 def section_order : MultiArg<["-"], "section_order", 2>,
582 MetaVarName<"<segment> <sections>">,
583 HelpText<"With -preload, specify layout sequence of colon-separated <sections> in <segment>">,
586 def segment_order : Separate<["-"], "segment_order">,
587 MetaVarName<"<colon_separated_segment_list>">,
588 HelpText<"With -preload, specify layout sequence of colon-separated <segments>">,
591 def allow_heap_execute : Flag<["-"], "allow_heap_execute">,
592 HelpText<"On i386, allow any page to execute code">,
595 def application_extension : Flag<["-"], "application_extension">,
596 HelpText<"Designate the linker output as safe for use in an application extension">,
599 def no_application_extension : Flag<["-"], "no_application_extension">,
600 HelpText<"Designate the linker output as unsafe for use in an application extension">,
603 def fatal_warnings : Flag<["-"], "fatal_warnings">,
604 HelpText<"Treat warnings as errors">,
606 def no_eh_labels : Flag<["-"], "no_eh_labels">,
607 HelpText<"In -r mode, suppress .eh labels in the __eh_frame section">,
610 def warn_compact_unwind : Flag<["-"], "warn_compact_unwind">,
611 HelpText<"Warn for each FDE that cannot compact into the __unwind_info section and must remain in the __eh_frame section">,
614 def warn_weak_exports : Flag<["-"], "warn_weak_exports">,
615 HelpText<"Warn if the linked image contains weak external symbols">,
618 def no_weak_exports : Flag<["-"], "no_weak_exports">,
619 HelpText<"Fail if the linked image contains weak external symbols">,
622 def objc_gc_compaction : Flag<["-"], "objc_gc_compaction">,
623 HelpText<"Mark the Objective-C image as compatible with compacting garbage collection">,
626 def objc_gc : Flag<["-"], "objc_gc">,
627 HelpText<"Verify that all code was compiled with -fobjc-gc or -fobjc-gc-only">,
630 def objc_gc_only : Flag<["-"], "objc_gc_only">,
631 HelpText<"Verify that all code was compiled with -fobjc-gc-only">,
634 def dead_strip_dylibs : Flag<["-"], "dead_strip_dylibs">,
635 HelpText<"Remove dylibs that are unreachable by the entry point or exported symbols">,
638 def allow_sub_type_mismatches : Flag<["-"], "allow_sub_type_mismatches">,
639 HelpText<"Permit mixing objects compiled for different ARM CPU subtypes">,
642 def no_uuid : Flag<["-"], "no_uuid">,
643 HelpText<"Do not generate the LC_UUID load command">,
646 def root_safe : Flag<["-"], "root_safe">,
647 HelpText<"Set the MH_ROOT_SAFE bit in the mach-o header">,
650 def setuid_safe : Flag<["-"], "setuid_safe">,
651 HelpText<"Set the MH_SETUID_SAFE bit in the mach-o header">,
654 def interposable : Flag<["-"], "interposable">,
655 HelpText<"Indirects access to all to exported symbols in a dylib">,
658 def multi_module : Flag<["-"], "multi_module">,
660 HelpText<"Alias for -interposable">,
663 def init : Separate<["-"], "init">,
664 MetaVarName<"<symbol>">,
665 HelpText<"Run <symbol> as the first initializer in a dylib">,
668 def sub_library : Separate<["-"], "sub_library">,
669 MetaVarName<"<name>">,
670 HelpText<"Re-export the dylib as <name>">,
672 def sub_umbrella : Separate<["-"], "sub_umbrella">,
673 MetaVarName<"<name>">,
674 HelpText<"Re-export the framework as <name>">,
676 def allowable_client : Separate<["-"], "allowable_client">,
677 MetaVarName<"<name>">,
678 HelpText<"Specify <name> of a dylib or framework that is allowed to link to this dylib">,
681 def client_name : Separate<["-"], "client_name">,
682 MetaVarName<"<name>">,
683 HelpText<"Specifies a <name> this client should match with the -allowable_client <name> in a dependent dylib">,
686 def umbrella : Separate<["-"], "umbrella">,
687 MetaVarName<"<<name>>">,
688 HelpText<"Re-export this dylib through the umbrella framework <name>a">,
691 def headerpad : Separate<["-"], "headerpad">,
692 MetaVarName<"<size>">,
693 HelpText<"Allocate hex <size> extra space for future expansion of the load commands via install_name_tool (default is 0x20)">,
695 def headerpad_max_install_names : Flag<["-"], "headerpad_max_install_names">,
696 HelpText<"Allocate extra space so all load-command paths can expand to MAXPATHLEN via install_name_tool">,
698 def bind_at_load : Flag<["-"], "bind_at_load">,
699 HelpText<"Tell dyld to bind all symbols at load time, rather than lazily">,
702 def force_flat_namespace : Flag<["-"], "force_flat_namespace">,
703 HelpText<"Tell dyld to use a flat namespace on this executable and all its dependent dylibs & bundles">,
706 def segalign : Separate<["-"], "segalign">,
707 MetaVarName<"<boundary>">,
708 HelpText<"Align all segments to hex power-of-2 <boundary>">,
711 def sectalign : MultiArg<["-"], "sectalign", 3>,
712 MetaVarName<"<segment> <section> <boundary>">,
713 HelpText<"Align <section> within <segment> to hex power-of-2 <boundary>">,
716 def stack_addr : Separate<["-"], "stack_addr">,
717 MetaVarName<"<address>">,
718 HelpText<"Initialize stack pointer to hex <address> rounded to a page boundary">,
721 def segprot : MultiArg<["-"], "segprot", 3>,
722 MetaVarName<"<segment> <max> <init>">,
723 HelpText<"Specifies the <max> and <init> virtual memory protection of <segment> as r/w/x/-seg_addr_table path Specify hex base addresses and dylib install names on successive lines in <path>. This option is obsolete">,
726 def segs_read_write_addr : Separate<["-"], "segs_read_write_addr">,
727 MetaVarName<"<address>">,
728 HelpText<"This option is obsolete">,
731 def segs_read_only_addr : Separate<["-"], "segs_read_only_addr">,
732 MetaVarName<"<address>">,
733 HelpText<"This option is obsolete">,
736 def segaddr : MultiArg<["-"], "segaddr", 2>,
737 MetaVarName<"<segment> <address>">,
738 HelpText<"Specify the starting hex <address> at a 4KiB page boundary for <segment>">,
741 def seg_page_size : MultiArg<["-"], "seg_page_size", 2>,
742 MetaVarName<"<segment> <size>">,
743 HelpText<"Specifies the page <size> for <segment>. Segment size will be a multiple of its page size">,
746 def dylib_file : Separate<["-"], "dylib_file">,
747 MetaVarName<"<install_path:current_path>">,
748 HelpText<"Specify <current_path> as different from where a dylib normally resides at <install_path>">,
751 def prebind : Flag<["-"], "prebind">,
752 HelpText<"This option is obsolete">,
755 def weak_reference_mismatches : Separate<["-"], "weak_reference_mismatches">,
756 MetaVarName<"<treatment>">,
757 HelpText<"Resolve symbol imports of conflicting weakness according to <treatment> as weak, non-weak, or error (default is non-weak)">,
760 def read_only_relocs : Separate<["-"], "read_only_relocs">,
761 MetaVarName<"<treatment>">,
762 HelpText<"Handle relocations that modify read-only pages according to <treatment> of warning, error, or suppress (i.e., allow)">,
765 def force_cpusubtype_ALL : Flag<["-"], "force_cpusubtype_ALL">,
766 HelpText<"Mark binary as runnable on any PowerPC, ignoring any PowerPC cpu requirements encoded in the object files">,
769 def no_arch_warnings : Flag<["-"], "no_arch_warnings">,
770 HelpText<"Suppresses warnings about inputs whose architecture does not match the -arch option">,
773 def arch_errors_fatal : Flag<["-"], "arch_errors_fatal">,
774 HelpText<"Escalate to errors any warnings about inputs whose architecture does not match the -arch option">,
777 def e : Separate<["-"], "e">,
778 MetaVarName<"<symbol>">,
779 HelpText<"Make <symbol> the entry point of an executable (default is \"start\" from crt1.o)">,
781 def w : Flag<["-"], "w">,
782 HelpText<"Suppress all warnings">,
785 def final_output : Separate<["-"], "final_output">,
786 MetaVarName<"<name>">,
787 HelpText<"Specify the dylib install name if -install_name is not used--used by compiler driver for multiple -arch arguments">,
790 def arch_multiple : Flag<["-"], "arch_multiple">,
791 HelpText<"Augment error and warning messages with the architecture name">,
794 def twolevel_namespace_hints : Flag<["-"], "twolevel_namespace_hints">,
795 HelpText<"This option is obsolete">,
798 def dot : Separate<["-"], "dot">,
799 MetaVarName<"<path>">,
800 HelpText<"Write a graph of symbol dependencies to <path> as a .dot file viewable with GraphViz">,
803 def keep_relocs : Flag<["-"], "keep_relocs">,
804 HelpText<"Retain section-based relocation records in the output, which are ignored at runtime by dyld">,
807 def warn_stabs : Flag<["-"], "warn_stabs">,
808 HelpText<"Warn when bad stab symbols inside a BINCL/EINCL prevent optimization">,
811 def warn_commons : Flag<["-"], "warn_commons">,
812 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">,
815 def read_only_stubs : Flag<["-"], "read_only_stubs">,
816 HelpText<"On i386, make the __IMPORT segment of a final linked image read-only">,
819 def slow_stubs : Flag<["-"], "slow_stubs">,
820 HelpText<"This option is obsolete">,
823 def interposable_list : Separate<["-"], "interposable_list">,
824 MetaVarName<"<path>">,
825 HelpText<"Access global symbols listed in <path> indirectly">,
828 def no_function_starts : Flag<["-"], "no_function_starts">,
829 HelpText<"Do not creates a compressed table of function start addresses">,
832 def no_objc_category_merging : Flag<["-"], "no_objc_category_merging">,
833 HelpText<"Do not merge Objective-C categories into their classes">,
836 def object_path_lto : Separate<["-"], "object_path_lto">,
837 MetaVarName<"<path>">,
838 HelpText<"Retain any temporary mach-o file in <path> that would otherwise be deleted during LTO">,
840 def lto_library : Separate<["-"], "lto_library">,
841 MetaVarName<"<path>">,
842 HelpText<"Override the default ../lib/libLTO.dylib as <path>">,
845 def cache_path_lto : Separate<["-"], "cache_path_lto">,
846 MetaVarName<"<path>">,
847 HelpText<"Use <path> as a directory for the incremental LTO cache">,
850 def prune_interval_lto : Separate<["-"], "prune_interval_lto">,
851 MetaVarName<"<seconds>">,
852 HelpText<"Prune the incremental LTO cache after <seconds> (-1 disables pruning)">,
855 def prune_after_lto : Separate<["-"], "prune_after_lto">,
856 MetaVarName<"<seconds>">,
857 HelpText<"Remove LTO cache entries after <seconds>">,
860 def max_relative_cache_size_lto : Separate<["-"], "max_relative_cache_size_lto">,
861 MetaVarName<"<percent>">,
862 HelpText<"Limit the incremental LTO cache growth to <percent> of free disk, space">,
865 def page_align_data_atoms : Flag<["-"], "page_align_data_atoms">,
866 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">,
869 def not_for_dyld_shared_cache : Flag<["-"], "not_for_dyld_shared_cache">,
870 HelpText<"Prevent system dylibs from being placed into the dylib shared cache">,
873 def mllvm : Separate<["-"], "mllvm">,
874 HelpText<"Options to pass to LLVM">,
876 def mcpu : Separate<["-"], "mcpu">,
877 HelpText<"Processor family target for LTO code generation">,
880 def grp_deprecated : OptionGroup<"deprecated">, HelpText<"DEPRECATED">;
882 def lazy_framework : Separate<["-"], "lazy_framework">,
883 MetaVarName<"<name>">,
884 HelpText<"This option is deprecated and is now an alias for -framework.">,
886 Group<grp_deprecated>;
887 def lazy_library : Separate<["-"], "lazy_library">,
888 MetaVarName<"<path>">,
889 HelpText<"This option is deprecated and is now an alias for regular linking">,
891 Group<grp_deprecated>;
892 def lazy_l : Joined<["-"], "lazy-l">,
893 MetaVarName<"<name>">,
894 HelpText<"This option is deprecated and is now an alias for -l<path>.">,
896 Group<grp_deprecated>;
897 def single_module : Flag<["-"], "single_module">,
898 HelpText<"Unnecessary option: this is already the default">,
900 Group<grp_deprecated>;
901 def no_dead_strip_inits_and_terms : Flag<["-"], "no_dead_strip_inits_and_terms">,
902 HelpText<"Unnecessary option: initialization and termination are roots of the dead strip graph, so never dead stripped">,
904 Group<grp_deprecated>;
905 def noall_load : Flag<["-"], "noall_load">,
906 HelpText<"Unnecessary option: this is already the default">,
908 Group<grp_deprecated>;
910 def grp_obsolete : OptionGroup<"obsolete">, HelpText<"OBSOLETE">;
912 def y : Joined<["-"], "y">,
913 MetaVarName<"<symbol>">,
914 HelpText<"This option is obsolete in ld64">,
917 def sectobjectsymbols : MultiArg<["-"], "sectobjectsymbols", 2>,
918 MetaVarName<"<segname> <sectname>">,
919 HelpText<"This option is obsolete in ld64">,
922 def nofixprebinding : Flag<["-"], "nofixprebinding">,
923 HelpText<"This option is obsolete in ld64">,
926 def noprebind_all_twolevel_modules : Flag<["-"], "noprebind_all_twolevel_modules">,
927 HelpText<"This option is obsolete in ld64">,
930 def prebind_all_twolevel_modules : Flag<["-"], "prebind_all_twolevel_modules">,
931 HelpText<"This option is obsolete in ld64">,
934 def prebind_allow_overlap : Flag<["-"], "prebind_allow_overlap">,
935 HelpText<"This option is obsolete in ld64">,
938 def noprebind : Flag<["-"], "noprebind">,
939 HelpText<"This option is obsolete in ld64">,
942 def sect_diff_relocs : Separate<["-"], "sect_diff_relocs">,
943 MetaVarName<"<treatment>">,
944 HelpText<"This option is obsolete in ld64">,
947 def A : Separate<["-"], "A">,
948 MetaVarName<"<basefile>">,
949 HelpText<"This option is obsolete in ld64">,
952 def b : Flag<["-"], "b">,
953 HelpText<"This option is obsolete in ld64">,
956 def Sn : Flag<["-"], "Sn">,
957 HelpText<"This option is obsolete in ld64">,
960 def Si : Flag<["-"], "Si">,
961 HelpText<"This option is obsolete in ld64">,
964 def Sp : Flag<["-"], "Sp">,
965 HelpText<"This option is obsolete in ld64">,
968 def X : Flag<["-"], "X">,
969 HelpText<"This option is obsolete in ld64">,
972 def s : Flag<["-"], "s">,
973 HelpText<"This option is obsolete in ld64">,
976 def m : Flag<["-"], "m">,
977 HelpText<"This option is obsolete in ld64">,
980 def Y : Separate<["-"], "Y">,
981 MetaVarName<"<number>">,
982 HelpText<"This option is obsolete in ld64">,
985 def nomultidefs : Flag<["-"], "nomultidefs">,
986 HelpText<"This option is obsolete in ld64">,
989 def multiply_defined_unused : Separate<["-"], "multiply_defined_unused">,
990 MetaVarName<"<treatment>">,
991 HelpText<"This option is obsolete in ld64">,
994 def multiply_defined : Separate<["-"], "multiply_defined">,
995 MetaVarName<"<treatment>">,
996 HelpText<"This option is obsolete in ld64">,
999 def private_bundle : Flag<["-"], "private_bundle">,
1000 HelpText<"This option is obsolete in ld64">,
1001 Flags<[HelpHidden]>,
1002 Group<grp_obsolete>;
1003 def seg_addr_table_filename : Separate<["-"], "seg_addr_table_filename">,
1004 MetaVarName<"<path>">,
1005 HelpText<"This option is obsolete in ld64">,
1006 Flags<[HelpHidden]>,
1007 Group<grp_obsolete>;
1008 def sectorder_detail : Flag<["-"], "sectorder_detail">,
1009 HelpText<"This option is obsolete in ld64">,
1010 Flags<[HelpHidden]>,
1011 Group<grp_obsolete>;
1012 def no_compact_linkedit : Flag<["-"], "no_compact_linkedit">,
1013 HelpText<"This option is obsolete in ld64">,
1014 Flags<[HelpHidden]>,
1015 Group<grp_obsolete>;
1016 def dependent_dr_info : Flag<["-"], "dependent_dr_info">,
1017 HelpText<"This option is obsolete in ld64">,
1018 Flags<[HelpHidden]>,
1019 Group<grp_obsolete>;
1020 def no_dependent_dr_info : Flag<["-"], "no_dependent_dr_info">,
1021 HelpText<"This option is obsolete in ld64">,
1022 Flags<[HelpHidden]>,
1023 Group<grp_obsolete>;
1024 def seglinkedit : Flag<["-"], "seglinkedit">,
1025 HelpText<"This option is obsolete in ld64">,
1026 Flags<[HelpHidden]>,
1027 Group<grp_obsolete>;
1028 def noseglinkedit : Flag<["-"], "noseglinkedit">,
1029 HelpText<"This option is obsolete in ld64">,
1030 Flags<[HelpHidden]>,
1031 Group<grp_obsolete>;
1032 def fvmlib : Flag<["-"], "fvmlib">,
1033 HelpText<"This option is obsolete in ld64">,
1034 Flags<[HelpHidden]>,
1035 Group<grp_obsolete>;
1036 def run_init_lazily : Flag<["-"], "run_init_lazily">,
1037 HelpText<"This option is obsolete in ld64">,
1038 Flags<[HelpHidden]>,
1039 Group<grp_obsolete>;
1041 def grp_undocumented : OptionGroup<"undocumented">, HelpText<"UNDOCUMENTED">;
1043 def add_ast_path : Flag<["-"], "add_ast_path">,
1044 HelpText<"This option is undocumented in ld64">,
1045 Flags<[HelpHidden]>,
1046 Group<grp_undocumented>;
1047 def add_linker_option : Flag<["-"], "add_linker_option">,
1048 HelpText<"This option is undocumented in ld64">,
1049 Flags<[HelpHidden]>,
1050 Group<grp_undocumented>;
1051 def add_source_version : Flag<["-"], "add_source_version">,
1052 HelpText<"This option is undocumented in ld64">,
1053 Flags<[HelpHidden]>,
1054 Group<grp_undocumented>;
1055 def no_source_version : Flag<["-"], "no_source_version">,
1056 HelpText<"This option is undocumented in ld64">,
1057 Flags<[HelpHidden]>,
1058 Group<grp_undocumented>;
1059 def add_split_seg_info : Flag<["-"], "add_split_seg_info">,
1060 HelpText<"This option is undocumented in ld64">,
1061 Flags<[HelpHidden]>,
1062 Group<grp_undocumented>;
1063 def allow_dead_duplicates : Flag<["-"], "allow_dead_duplicates">,
1064 HelpText<"This option is undocumented in ld64">,
1065 Flags<[HelpHidden]>,
1066 Group<grp_undocumented>;
1067 def allow_simulator_linking_to_macosx_dylibs : Flag<["-"], "allow_simulator_linking_to_macosx_dylibs">,
1068 HelpText<"This option is undocumented in ld64">,
1069 Flags<[HelpHidden]>,
1070 Group<grp_undocumented>;
1071 def bitcode_process_mode : Flag<["-"], "bitcode_process_mode">,
1072 HelpText<"This option is undocumented in ld64">,
1073 Flags<[HelpHidden]>,
1074 Group<grp_undocumented>;
1075 def bitcode_verify : Flag<["-"], "bitcode_verify">,
1076 HelpText<"This option is undocumented in ld64">,
1077 Flags<[HelpHidden]>,
1078 Group<grp_undocumented>;
1079 def classic_linker : Flag<["-"], "classic_linker">,
1080 HelpText<"This option is undocumented in ld64">,
1081 Flags<[HelpHidden]>,
1082 Group<grp_undocumented>;
1083 def data_const : Flag<["-"], "data_const">,
1084 HelpText<"This option is undocumented in ld64">,
1085 Flags<[HelpHidden]>,
1086 Group<grp_undocumented>;
1087 def no_data_const : Flag<["-"], "no_data_const">,
1088 HelpText<"This option is undocumented in ld64">,
1089 Flags<[HelpHidden]>,
1090 Group<grp_undocumented>;
1091 def data_in_code_info : Flag<["-"], "data_in_code_info">,
1092 HelpText<"This option is undocumented in ld64">,
1093 Flags<[HelpHidden]>,
1094 Group<grp_undocumented>;
1095 def no_data_in_code_info : Flag<["-"], "no_data_in_code_info">,
1096 HelpText<"This option is undocumented in ld64">,
1097 Flags<[HelpHidden]>,
1098 Group<grp_undocumented>;
1099 def debug_snapshot : Flag<["-"], "debug_snapshot">,
1100 HelpText<"This option is undocumented in ld64">,
1101 Flags<[HelpHidden]>,
1102 Group<grp_undocumented>;
1103 def demangle : Flag<["-"], "demangle">,
1104 HelpText<"Demangle symbol names in diagnostics">;
1105 def dyld_env : Flag<["-"], "dyld_env">,
1106 HelpText<"This option is undocumented in ld64">,
1107 Flags<[HelpHidden]>,
1108 Group<grp_undocumented>;
1109 def encryptable : Flag<["-"], "encryptable">,
1110 HelpText<"This option is undocumented in ld64">,
1111 Flags<[HelpHidden]>,
1112 Group<grp_undocumented>;
1113 def executable_path : Flag<["-"], "executable_path">,
1114 HelpText<"This option is undocumented in ld64">,
1115 Flags<[HelpHidden]>,
1116 Group<grp_undocumented>;
1117 def fixup_chains : Flag<["-"], "fixup_chains">,
1118 HelpText<"This option is undocumented in ld64">,
1119 Flags<[HelpHidden]>,
1120 Group<grp_undocumented>;
1121 def fixup_chains_section : Flag<["-"], "fixup_chains_section">,
1122 HelpText<"This option is undocumented in ld64">,
1123 Flags<[HelpHidden]>,
1124 Group<grp_undocumented>;
1125 def flto_codegen_only : Flag<["-"], "flto-codegen-only">,
1126 HelpText<"This option is undocumented in ld64">,
1127 Flags<[HelpHidden]>,
1128 Group<grp_undocumented>;
1129 def force_load_swift_libs : Flag<["-"], "force_load_swift_libs">,
1130 HelpText<"This option is undocumented in ld64">,
1131 Flags<[HelpHidden]>,
1132 Group<grp_undocumented>;
1133 def force_symbol_not_weak : Flag<["-"], "force_symbol_not_weak">,
1134 HelpText<"This option is undocumented in ld64">,
1135 Flags<[HelpHidden]>,
1136 Group<grp_undocumented>;
1137 def force_symbols_coalesce_list : Flag<["-"], "force_symbols_coalesce_list">,
1138 HelpText<"This option is undocumented in ld64">,
1139 Flags<[HelpHidden]>,
1140 Group<grp_undocumented>;
1141 def force_symbols_not_weak_list : Flag<["-"], "force_symbols_not_weak_list">,
1142 HelpText<"This option is undocumented in ld64">,
1143 Flags<[HelpHidden]>,
1144 Group<grp_undocumented>;
1145 def force_symbols_weak_list : Flag<["-"], "force_symbols_weak_list">,
1146 HelpText<"This option is undocumented in ld64">,
1147 Flags<[HelpHidden]>,
1148 Group<grp_undocumented>;
1149 def force_symbol_weak : Flag<["-"], "force_symbol_weak">,
1150 HelpText<"This option is undocumented in ld64">,
1151 Flags<[HelpHidden]>,
1152 Group<grp_undocumented>;
1153 def function_starts : Flag<["-"], "function_starts">,
1154 HelpText<"This option is undocumented in ld64">,
1155 Flags<[HelpHidden]>,
1156 Group<grp_undocumented>;
1157 def i : Flag<["-"], "i">,
1158 HelpText<"This option is undocumented in ld64">,
1159 Flags<[HelpHidden]>,
1160 Group<grp_undocumented>;
1161 def ignore_auto_link : Flag<["-"], "ignore_auto_link">,
1162 HelpText<"This option is undocumented in ld64">,
1163 Flags<[HelpHidden]>,
1164 Group<grp_undocumented>;
1165 def ignore_optimization_hints : Flag<["-"], "ignore_optimization_hints">,
1166 HelpText<"This option is undocumented in ld64">,
1167 Flags<[HelpHidden]>,
1168 Group<grp_undocumented>;
1169 def init_offsets : Flag<["-"], "init_offsets">,
1170 HelpText<"This option is undocumented in ld64">,
1171 Flags<[HelpHidden]>,
1172 Group<grp_undocumented>;
1173 def keep_dwarf_unwind : Flag<["-"], "keep_dwarf_unwind">,
1174 HelpText<"This option is undocumented in ld64">,
1175 Flags<[HelpHidden]>,
1176 Group<grp_undocumented>;
1177 def no_keep_dwarf_unwind : Flag<["-"], "no_keep_dwarf_unwind">,
1178 HelpText<"This option is undocumented in ld64">,
1179 Flags<[HelpHidden]>,
1180 Group<grp_undocumented>;
1181 def kext : Flag<["-"], "kext">,
1182 HelpText<"This option is undocumented in ld64">,
1183 Flags<[HelpHidden]>,
1184 Group<grp_undocumented>;
1185 def kext_objects_dir : Flag<["-"], "kext_objects_dir">,
1186 HelpText<"This option is undocumented in ld64">,
1187 Flags<[HelpHidden]>,
1188 Group<grp_undocumented>;
1189 def no_kext_objects : Flag<["-"], "no_kext_objects">,
1190 HelpText<"This option is undocumented in ld64">,
1191 Flags<[HelpHidden]>,
1192 Group<grp_undocumented>;
1193 def kexts_use_stubs : Flag<["-"], "kexts_use_stubs">,
1194 HelpText<"This option is undocumented in ld64">,
1195 Flags<[HelpHidden]>,
1196 Group<grp_undocumented>;
1197 def maccatalyst_version_min : Flag<["-"], "maccatalyst_version_min">,
1198 HelpText<"This option is undocumented in ld64">,
1199 Flags<[HelpHidden]>,
1200 Group<grp_undocumented>;
1201 def iosmac_version_min : Flag<["-"], "iosmac_version_min">,
1202 Alias<maccatalyst_version_min>,
1203 HelpText<"Alias for -maccatalyst_version_min">,
1204 Flags<[HelpHidden]>,
1205 Group<grp_undocumented>;
1206 def uikitformac_version_min : Flag<["-"], "uikitformac_version_min">,
1207 Alias<maccatalyst_version_min>,
1208 HelpText<"Alias for -maccatalyst_version_min">,
1209 Flags<[HelpHidden]>,
1210 Group<grp_undocumented>;
1211 def no_compact_unwind : Flag<["-"], "no_compact_unwind">,
1212 HelpText<"This option is undocumented in ld64">,
1213 Flags<[HelpHidden]>,
1214 Group<grp_undocumented>;
1215 def no_dtrace_dof : Flag<["-"], "no_dtrace_dof">,
1216 HelpText<"This option is undocumented in ld64">,
1217 Flags<[HelpHidden]>,
1218 Group<grp_undocumented>;
1219 def no_encryption : Flag<["-"], "no_encryption">,
1220 HelpText<"This option is undocumented in ld64">,
1221 Flags<[HelpHidden]>,
1222 Group<grp_undocumented>;
1223 def no_new_main : Flag<["-"], "no_new_main">,
1224 HelpText<"This option is undocumented in ld64">,
1225 Flags<[HelpHidden]>,
1226 Group<grp_undocumented>;
1227 def objc_abi_version : Separate<["-"], "objc_abi_version">,
1228 HelpText<"This option is undocumented in ld64">,
1229 Flags<[HelpHidden]>,
1230 Group<grp_undocumented>;
1231 def pause : Flag<["-"], "pause">,
1232 HelpText<"This option is undocumented in ld64">,
1233 Flags<[HelpHidden]>,
1234 Group<grp_undocumented>;
1235 def random_uuid : Flag<["-"], "random_uuid">,
1236 HelpText<"This option is undocumented in ld64">,
1237 Flags<[HelpHidden]>,
1238 Group<grp_undocumented>;
1239 def simulator_support : Flag<["-"], "simulator_support">,
1240 HelpText<"This option is undocumented in ld64">,
1241 Flags<[HelpHidden]>,
1242 Group<grp_undocumented>;
1243 def snapshot_dir : Flag<["-"], "snapshot_dir">,
1244 HelpText<"This option is undocumented in ld64">,
1245 Flags<[HelpHidden]>,
1246 Group<grp_undocumented>;
1247 def source_version : Flag<["-"], "source_version">,
1248 HelpText<"This option is undocumented in ld64">,
1249 Flags<[HelpHidden]>,
1250 Group<grp_undocumented>;
1251 def text_exec : Flag<["-"], "text_exec">,
1252 HelpText<"This option is undocumented in ld64">,
1253 Flags<[HelpHidden]>,
1254 Group<grp_undocumented>;
1255 def threaded_starts_section : Flag<["-"], "threaded_starts_section">,
1256 HelpText<"This option is undocumented in ld64">,
1257 Flags<[HelpHidden]>,
1258 Group<grp_undocumented>;
1259 def twolevel_namespace : Flag<["-"], "twolevel_namespace">,
1260 HelpText<"This option is undocumented in ld64">,
1261 Flags<[HelpHidden]>,
1262 Group<grp_undocumented>;
1263 def verbose_optimization_hints : Flag<["-"], "verbose_optimization_hints">,
1264 HelpText<"This option is undocumented in ld64">,
1265 Flags<[HelpHidden]>,
1266 Group<grp_undocumented>;
1267 def version_load_command : Flag<["-"], "version_load_command">,
1268 HelpText<"This option is undocumented in ld64">,
1269 Flags<[HelpHidden]>,
1270 Group<grp_undocumented>;
1272 def grp_ignored : OptionGroup<"ignored">, HelpText<"IGNORED">;
1274 def M : Flag<["-"], "M">,
1275 HelpText<"This option is ignored in ld64">,
1276 Flags<[HelpHidden]>,
1278 def new_linker : Flag<["-"], "new_linker">,
1279 HelpText<"This option is ignored in ld64">,
1280 Flags<[HelpHidden]>,