15ffd83dbSDimitry Andricinclude "llvm/Option/OptParser.td" 25ffd83dbSDimitry Andric 3e8d8bef9SDimitry Andric// Flags that lld/MachO understands but ld64 doesn't. These take 4e8d8bef9SDimitry Andric// '--' instead of '-' and use dashes instead of underscores, so 5e8d8bef9SDimitry Andric// they don't collide with the ld64 compat options. 6e8d8bef9SDimitry Andricdef grp_lld : OptionGroup<"kind">, HelpText<"LLD-SPECIFIC">; 7e8d8bef9SDimitry Andric 8e8d8bef9SDimitry Andricdef help : Flag<["-", "--"], "help">, 9e8d8bef9SDimitry Andric Group<grp_lld>; 105ffd83dbSDimitry Andricdef help_hidden : Flag<["--"], "help-hidden">, 11e8d8bef9SDimitry Andric HelpText<"Display help for hidden options">, 12e8d8bef9SDimitry Andric Group<grp_lld>; 13fe6060f1SDimitry Andricdef verbose : Flag<["--"], "verbose">, 14fe6060f1SDimitry Andric Group<grp_lld>; 15fe6060f1SDimitry Andricdef error_limit_eq : Joined<["--"], "error-limit=">, 16fe6060f1SDimitry Andric HelpText<"Maximum number of errors to print before exiting (default: 20)">, 17fe6060f1SDimitry Andric Group<grp_lld>; 18e8d8bef9SDimitry Andricdef color_diagnostics: Flag<["--"], "color-diagnostics">, 19e8d8bef9SDimitry Andric HelpText<"Alias for --color-diagnostics=always">, 20e8d8bef9SDimitry Andric Group<grp_lld>; 21e8d8bef9SDimitry Andricdef no_color_diagnostics: Flag<["--"], "no-color-diagnostics">, 22e8d8bef9SDimitry Andric HelpText<"Alias for --color-diagnostics=never">, 23e8d8bef9SDimitry Andric Group<grp_lld>; 24e8d8bef9SDimitry Andricdef color_diagnostics_eq: Joined<["--"], "color-diagnostics=">, 25e8d8bef9SDimitry Andric HelpText<"Use colors in diagnostics (default: auto)">, 26e8d8bef9SDimitry Andric MetaVarName<"[auto,always,never]">, 27e8d8bef9SDimitry Andric Group<grp_lld>; 28fe6060f1SDimitry Andricdef threads_eq : Joined<["--"], "threads=">, 29fe6060f1SDimitry Andric HelpText<"Number of threads. '1' disables multi-threading. By default all available hardware threads are used">, 30fe6060f1SDimitry Andric Group<grp_lld>; 31fe6060f1SDimitry Andricdef thinlto_jobs_eq : Joined<["--"], "thinlto-jobs=">, 32fe6060f1SDimitry Andric HelpText<"Number of ThinLTO jobs. Default to --threads=">, 33fe6060f1SDimitry Andric Group<grp_lld>; 34e8d8bef9SDimitry Andricdef reproduce: Separate<["--"], "reproduce">, 35e8d8bef9SDimitry Andric Group<grp_lld>; 36e8d8bef9SDimitry Andricdef reproduce_eq: Joined<["--"], "reproduce=">, 37e8d8bef9SDimitry Andric Alias<!cast<Separate>(reproduce)>, 38e8d8bef9SDimitry Andric HelpText<"Write tar file containing inputs and command to reproduce link">, 39e8d8bef9SDimitry Andric Group<grp_lld>; 40e8d8bef9SDimitry Andricdef version: Flag<["--"], "version">, 41e8d8bef9SDimitry Andric HelpText<"Display the version number and exit">, 42e8d8bef9SDimitry Andric Group<grp_lld>; 43e8d8bef9SDimitry Andricdef no_lto_legacy_pass_manager : Flag<["--"], "no-lto-legacy-pass-manager">, 44e8d8bef9SDimitry Andric HelpText<"Use the new pass manager in LLVM">, 45e8d8bef9SDimitry Andric Group<grp_lld>; 4681ad6265SDimitry Andricdef time_trace_eq: Joined<["--"], "time-trace=">, 4781ad6265SDimitry Andric HelpText<"Record time trace to <file>">, 4881ad6265SDimitry Andric MetaVarName<"<file>">, 4981ad6265SDimitry Andric Group<grp_lld>; 5081ad6265SDimitry Andricdef : Flag<["--"], "time-trace">, 5181ad6265SDimitry Andric Alias<time_trace_eq>, 5281ad6265SDimitry Andric HelpText<"Record time trace to file next to output">, 53fe6060f1SDimitry Andric Group<grp_lld>; 54fe6060f1SDimitry Andricdef time_trace_granularity_eq: Joined<["--"], "time-trace-granularity=">, 55fe6060f1SDimitry Andric HelpText<"Minimum time granularity (in microseconds) traced by time profiler">, 56fe6060f1SDimitry Andric Group<grp_lld>; 57fe6060f1SDimitry Andricdef deduplicate_literals: Flag<["--"], "deduplicate-literals">, 58fe6060f1SDimitry Andric HelpText<"Enable literal deduplication. This is implied by --icf={safe,all}">, 59fe6060f1SDimitry Andric Group<grp_lld>; 60fe6060f1SDimitry Andricdef print_dylib_search: Flag<["--"], "print-dylib-search">, 61fe6060f1SDimitry Andric HelpText<"Print which paths lld searched when trying to find dylibs">, 62fe6060f1SDimitry Andric Group<grp_lld>; 63fe6060f1SDimitry Andricdef icf_eq: Joined<["--"], "icf=">, 64fe6060f1SDimitry Andric HelpText<"Set level for identical code folding (default: none)">, 65fe6060f1SDimitry Andric MetaVarName<"[none,safe,all]">, 66fe6060f1SDimitry Andric Group<grp_lld>; 67fe6060f1SDimitry Andricdef lto_O: Joined<["--"], "lto-O">, 68fe6060f1SDimitry Andric HelpText<"Set optimization level for LTO (default: 2)">, 69fe6060f1SDimitry Andric MetaVarName<"<opt-level>">, 70fe6060f1SDimitry Andric Group<grp_lld>; 71fe6060f1SDimitry Andricdef thinlto_cache_policy: Joined<["--"], "thinlto-cache-policy=">, 72fe6060f1SDimitry Andric HelpText<"Pruning policy for the ThinLTO cache">, 73fe6060f1SDimitry Andric Group<grp_lld>; 74fe6060f1SDimitry Andricdef O : JoinedOrSeparate<["-"], "O">, 75fe6060f1SDimitry Andric HelpText<"Optimize output file size">; 7604eeddc0SDimitry Andricdef start_lib: Flag<["--"], "start-lib">, 7704eeddc0SDimitry Andric HelpText<"Start a grouping of objects that should be treated as if they were together in an archive">; 7804eeddc0SDimitry Andricdef end_lib: Flag<["--"], "end-lib">, 7904eeddc0SDimitry Andric HelpText<"End a grouping of objects that should be treated as if they were together in an archive">; 80349cc55cSDimitry Andricdef no_warn_dylib_install_name: Joined<["--"], "no-warn-dylib-install-name">, 81349cc55cSDimitry Andric HelpText<"Do not warn on -install-name if -dylib is not passed (default)">, 82349cc55cSDimitry Andric Group<grp_lld>; 83349cc55cSDimitry Andricdef warn_dylib_install_name: Joined<["--"], "warn-dylib-install-name">, 84349cc55cSDimitry Andric HelpText<"Warn on -install-name if -dylib is not passed">, 85349cc55cSDimitry Andric Group<grp_lld>; 8604eeddc0SDimitry Andricdef call_graph_profile_sort: Flag<["--"], "call-graph-profile-sort">, 8704eeddc0SDimitry Andric HelpText<"Reorder sections with call graph profile (default)">, 8804eeddc0SDimitry Andric Group<grp_lld>; 8904eeddc0SDimitry Andricdef no_call_graph_profile_sort : Flag<["--"], "no-call-graph-profile-sort">, 9004eeddc0SDimitry Andric HelpText<"Do not reorder sections with call graph profile">, 9104eeddc0SDimitry Andric Group<grp_lld>; 9204eeddc0SDimitry Andricdef print_symbol_order: Joined<["--"], "print-symbol-order=">, 9304eeddc0SDimitry Andric HelpText<"Print a symbol order specified by --call-graph-profile-sort into the specified file">, 9404eeddc0SDimitry Andric Group<grp_lld>; 955ffd83dbSDimitry Andric 965ffd83dbSDimitry Andric// This is a complete Options.td compiled from Apple's ld(1) manpage 975ffd83dbSDimitry Andric// dated 2018-03-07 and cross checked with ld64 source code in repo 985ffd83dbSDimitry Andric// https://github.com/apple-opensource/ld64 at git tag "512.4" dated 995ffd83dbSDimitry Andric// 2018-03-18. 1005ffd83dbSDimitry Andric 1015ffd83dbSDimitry Andric// Flags<[HelpHidden]> marks options that are not yet ported to lld, 1025ffd83dbSDimitry Andric// and serve as a scoreboard for annotating our progress toward 1035ffd83dbSDimitry Andric// implementing ld64 options in lld. As you add implementions to 1045ffd83dbSDimitry Andric// Driver.cpp, please remove the hidden flag here. 1055ffd83dbSDimitry Andric 1065ffd83dbSDimitry Andricdef grp_kind : OptionGroup<"kind">, HelpText<"OUTPUT KIND">; 1075ffd83dbSDimitry Andric 1085ffd83dbSDimitry Andricdef execute : Flag<["-"], "execute">, 1095ffd83dbSDimitry Andric HelpText<"Produce a main executable (default)">, 1105ffd83dbSDimitry Andric Group<grp_kind>; 1115ffd83dbSDimitry Andricdef dylib : Flag<["-"], "dylib">, 1125ffd83dbSDimitry Andric HelpText<"Produce a shared library">, 1135ffd83dbSDimitry Andric Group<grp_kind>; 1145ffd83dbSDimitry Andricdef bundle : Flag<["-"], "bundle">, 1155ffd83dbSDimitry Andric HelpText<"Produce a bundle">, 1165ffd83dbSDimitry Andric Group<grp_kind>; 1175ffd83dbSDimitry Andricdef r : Flag<["-"], "r">, 1185ffd83dbSDimitry Andric HelpText<"Merge multiple object files into one, retaining relocations">, 1195ffd83dbSDimitry Andric Flags<[HelpHidden]>, 1205ffd83dbSDimitry Andric Group<grp_kind>; 1215ffd83dbSDimitry Andricdef dylinker : Flag<["-"], "dylinker">, 1225ffd83dbSDimitry Andric HelpText<"Produce a dylinker only used when building dyld">, 1235ffd83dbSDimitry Andric Flags<[HelpHidden]>, 1245ffd83dbSDimitry Andric Group<grp_kind>; 1255ffd83dbSDimitry Andricdef dynamic : Flag<["-"], "dynamic">, 1265ffd83dbSDimitry Andric HelpText<"Link dynamically (default)">, 1275ffd83dbSDimitry Andric Group<grp_kind>; 1285ffd83dbSDimitry Andricdef static : Flag<["-"], "static">, 1295ffd83dbSDimitry Andric HelpText<"Link statically">, 1305ffd83dbSDimitry Andric Flags<[HelpHidden]>, 1315ffd83dbSDimitry Andric Group<grp_kind>; 1325ffd83dbSDimitry Andricdef preload : Flag<["-"], "preload">, 1335ffd83dbSDimitry Andric HelpText<"Produce an unsegmented binary for embedded systems">, 1345ffd83dbSDimitry Andric Flags<[HelpHidden]>, 1355ffd83dbSDimitry Andric Group<grp_kind>; 1365ffd83dbSDimitry Andricdef arch : Separate<["-"], "arch">, 1375ffd83dbSDimitry Andric MetaVarName<"<arch_name>">, 1385ffd83dbSDimitry Andric HelpText<"The architecture (e.g. ppc, ppc64, i386, x86_64)">, 1395ffd83dbSDimitry Andric Group<grp_kind>; 1405ffd83dbSDimitry Andricdef o : Separate<["-"], "o">, 1415ffd83dbSDimitry Andric MetaVarName<"<path>">, 1425ffd83dbSDimitry Andric HelpText<"The name of the output file (default: `a.out')">, 1435ffd83dbSDimitry Andric Group<grp_kind>; 1445ffd83dbSDimitry Andric 1455ffd83dbSDimitry Andricdef grp_libs : OptionGroup<"libs">, HelpText<"LIBRARIES">; 1465ffd83dbSDimitry Andric 1475ffd83dbSDimitry Andricdef l : Joined<["-"], "l">, 1485ffd83dbSDimitry Andric MetaVarName<"<name>">, 1495ffd83dbSDimitry Andric HelpText<"Search for lib<name>.dylib or lib<name>.a on the library search path">, 1505ffd83dbSDimitry Andric Group<grp_libs>; 1515ffd83dbSDimitry Andricdef weak_l : Joined<["-"], "weak-l">, 1525ffd83dbSDimitry Andric MetaVarName<"<name>">, 1535ffd83dbSDimitry Andric HelpText<"Like -l<name>, but mark library and its references as weak imports">, 1545ffd83dbSDimitry Andric Group<grp_libs>; 1555ffd83dbSDimitry Andricdef weak_library : Separate<["-"], "weak_library">, 1565ffd83dbSDimitry Andric MetaVarName<"<path>">, 1575ffd83dbSDimitry Andric HelpText<"Like bare <path>, but mark library and its references as weak imports">, 1585ffd83dbSDimitry Andric Group<grp_libs>; 159fe6060f1SDimitry Andricdef needed_l : Joined<["-"], "needed-l">, 160fe6060f1SDimitry Andric MetaVarName<"<name>">, 161fe6060f1SDimitry Andric HelpText<"Like -l<name>, but link library even if its symbols are not used and -dead_strip_dylibs is active">, 162fe6060f1SDimitry Andric Group<grp_libs>; 163fe6060f1SDimitry Andricdef needed_library : Separate<["-"], "needed_library">, 164fe6060f1SDimitry Andric MetaVarName<"<path>">, 165fe6060f1SDimitry Andric HelpText<"Like bare <path>, but link library even if its symbols are not used and -dead_strip_dylibs is active">, 166fe6060f1SDimitry Andric Group<grp_libs>; 1675ffd83dbSDimitry Andricdef reexport_l : Joined<["-"], "reexport-l">, 1685ffd83dbSDimitry Andric MetaVarName<"<name>">, 1695ffd83dbSDimitry Andric HelpText<"Like -l<name>, but export all symbols of <name> from newly created library">, 1705ffd83dbSDimitry Andric Group<grp_libs>; 1715ffd83dbSDimitry Andricdef reexport_library : Separate<["-"], "reexport_library">, 1725ffd83dbSDimitry Andric MetaVarName<"<path>">, 1735ffd83dbSDimitry Andric HelpText<"Like bare <path>, but export all symbols of <path> from newly created library">, 1745ffd83dbSDimitry Andric Group<grp_libs>; 1755ffd83dbSDimitry Andricdef upward_l : Joined<["-"], "upward-l">, 1765ffd83dbSDimitry Andric MetaVarName<"<name>">, 1775ffd83dbSDimitry Andric HelpText<"Like -l<name>, but specify dylib as an upward dependency">, 1785ffd83dbSDimitry Andric Flags<[HelpHidden]>, 1795ffd83dbSDimitry Andric Group<grp_libs>; 1805ffd83dbSDimitry Andricdef upward_library : Separate<["-"], "upward_library">, 1815ffd83dbSDimitry Andric MetaVarName<"<path>">, 1825ffd83dbSDimitry Andric HelpText<"Like bare <path>, but specify dylib as an upward dependency">, 1835ffd83dbSDimitry Andric Flags<[HelpHidden]>, 1845ffd83dbSDimitry Andric Group<grp_libs>; 1855ffd83dbSDimitry Andricdef L : JoinedOrSeparate<["-"], "L">, 1865ffd83dbSDimitry Andric MetaVarName<"<dir>">, 1875ffd83dbSDimitry Andric HelpText<"Add dir to the library search path">, 1885ffd83dbSDimitry Andric Group<grp_libs>; 1895ffd83dbSDimitry Andricdef Z : Flag<["-"], "Z">, 1905ffd83dbSDimitry Andric HelpText<"Remove standard directories from the library and framework search paths">, 1915ffd83dbSDimitry Andric Group<grp_libs>; 1925ffd83dbSDimitry Andricdef syslibroot : Separate<["-"], "syslibroot">, 1935ffd83dbSDimitry Andric MetaVarName<"<rootdir>">, 1945ffd83dbSDimitry Andric HelpText<"Prepend <rootdir> to all library and framework search paths">, 1955ffd83dbSDimitry Andric Group<grp_libs>; 1965ffd83dbSDimitry Andricdef search_paths_first : Flag<["-"], "search_paths_first">, 1975ffd83dbSDimitry Andric HelpText<"Search for lib<name>.dylib and lib<name>.a at each step in traversing search path (default for Xcode 4 and later)">, 1985ffd83dbSDimitry Andric Group<grp_libs>; 1995ffd83dbSDimitry Andricdef search_dylibs_first : Flag<["-"], "search_dylibs_first">, 2005ffd83dbSDimitry Andric 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)">, 2015ffd83dbSDimitry Andric Group<grp_libs>; 2025ffd83dbSDimitry Andricdef framework : Separate<["-"], "framework">, 2035ffd83dbSDimitry Andric MetaVarName<"<name>">, 2045ffd83dbSDimitry Andric HelpText<"Search for <name>.framework/<name> on the framework search path">, 2055ffd83dbSDimitry Andric Group<grp_libs>; 2065ffd83dbSDimitry Andricdef weak_framework : Separate<["-"], "weak_framework">, 2075ffd83dbSDimitry Andric MetaVarName<"<name>">, 2085ffd83dbSDimitry Andric HelpText<"Like -framework <name>, but mark framework and its references as weak imports">, 2095ffd83dbSDimitry Andric Group<grp_libs>; 210fe6060f1SDimitry Andricdef needed_framework : Separate<["-"], "needed_framework">, 211fe6060f1SDimitry Andric MetaVarName<"<name>">, 212fe6060f1SDimitry Andric HelpText<"Like -framework <name>, but link <name> even if none of its symbols are used and -dead_strip_dylibs is active">, 213fe6060f1SDimitry Andric Group<grp_libs>; 2145ffd83dbSDimitry Andricdef reexport_framework : Separate<["-"], "reexport_framework">, 2155ffd83dbSDimitry Andric MetaVarName<"<name>">, 2165ffd83dbSDimitry Andric HelpText<"Like -framework <name>, but export all symbols of <name> from the newly created library">, 2175ffd83dbSDimitry Andric Group<grp_libs>; 2185ffd83dbSDimitry Andricdef upward_framework : Separate<["-"], "upward_framework">, 2195ffd83dbSDimitry Andric MetaVarName<"<name>">, 2205ffd83dbSDimitry Andric HelpText<"Like -framework <name>, but specify the framework as an upward dependency">, 2215ffd83dbSDimitry Andric Flags<[HelpHidden]>, 2225ffd83dbSDimitry Andric Group<grp_libs>; 2235ffd83dbSDimitry Andricdef F : JoinedOrSeparate<["-"], "F">, 2245ffd83dbSDimitry Andric MetaVarName<"<dir>">, 2255ffd83dbSDimitry Andric HelpText<"Add dir to the framework search path">, 2265ffd83dbSDimitry Andric Group<grp_libs>; 2275ffd83dbSDimitry Andricdef all_load : Flag<["-"], "all_load">, 2285ffd83dbSDimitry Andric HelpText<"Load all members of all static archive libraries">, 2295ffd83dbSDimitry Andric Group<grp_libs>; 23004eeddc0SDimitry Andricdef noall_load : Flag<["-"], "noall_load">, 23104eeddc0SDimitry Andric HelpText<"Don't load all static members from archives, this is the default, this negates -all_load">, 23204eeddc0SDimitry Andric Group<grp_libs>; 2335ffd83dbSDimitry Andricdef ObjC : Flag<["-"], "ObjC">, 2345ffd83dbSDimitry Andric HelpText<"Load all members of static archives that are an Objective-C class or category.">, 2355ffd83dbSDimitry Andric Group<grp_libs>; 2365ffd83dbSDimitry Andricdef force_load : Separate<["-"], "force_load">, 2375ffd83dbSDimitry Andric MetaVarName<"<path>">, 2385ffd83dbSDimitry Andric HelpText<"Load all members static archive library at <path>">, 2395ffd83dbSDimitry Andric Group<grp_libs>; 240fe6060f1SDimitry Andricdef force_load_swift_libs : Flag<["-"], "force_load_swift_libs">, 241fe6060f1SDimitry Andric HelpText<"Apply -force_load to libraries listed in LC_LINKER_OPTIONS whose names start with 'swift'">, 242fe6060f1SDimitry Andric Group<grp_libs>; 243*972a253aSDimitry Andricdef load_hidden : Separate<["-"], "load_hidden">, 244*972a253aSDimitry Andric MetaVarName<"<path>">, 245*972a253aSDimitry Andric HelpText<"Load all symbols from static library with hidden visibility">, 246*972a253aSDimitry Andric Group<grp_libs>; 247*972a253aSDimitry Andricdef hidden_l : Joined<["-"], "hidden-l">, 248*972a253aSDimitry Andric MetaVarName<"<name>">, 249*972a253aSDimitry Andric HelpText<"Like -l<name>, but load all symbols with hidden visibility">, 250*972a253aSDimitry Andric Group<grp_libs>; 2515ffd83dbSDimitry Andric 2525ffd83dbSDimitry Andricdef grp_content : OptionGroup<"content">, HelpText<"ADDITIONAL CONTENT">; 2535ffd83dbSDimitry Andric 2545ffd83dbSDimitry Andricdef sectcreate : MultiArg<["-"], "sectcreate", 3>, 2555ffd83dbSDimitry Andric MetaVarName<"<segment> <section> <file>">, 2565ffd83dbSDimitry Andric HelpText<"Create <section> in <segment> from the contents of <file>">, 2575ffd83dbSDimitry Andric Group<grp_content>; 2585ffd83dbSDimitry Andricdef segcreate : MultiArg<["-"], "segcreate", 3>, 2595ffd83dbSDimitry Andric MetaVarName<"<segment> <section> <file>">, 2605ffd83dbSDimitry Andric Alias<sectcreate>, 2615ffd83dbSDimitry Andric HelpText<"Alias for -sectcreate">, 2625ffd83dbSDimitry Andric Group<grp_content>; 2631fd87a68SDimitry Andricdef add_empty_section : MultiArg<["-"], "add_empty_section", 2>, 2641fd87a68SDimitry Andric MetaVarName<"<segment> <section>">, 2651fd87a68SDimitry Andric HelpText<"Create an empty <section> in <segment>">, 2661fd87a68SDimitry Andric Group<grp_content>; 2675ffd83dbSDimitry Andricdef filelist : Separate<["-"], "filelist">, 2685ffd83dbSDimitry Andric MetaVarName<"<file>">, 2695ffd83dbSDimitry Andric HelpText<"Read names of files to link from <file>">, 2705ffd83dbSDimitry Andric Group<grp_content>; 2715ffd83dbSDimitry Andricdef dtrace : Separate<["-"], "dtrace">, 2725ffd83dbSDimitry Andric MetaVarName<"<script>">, 2735ffd83dbSDimitry Andric HelpText<"Enable DTrace static probes according to declarations in <script>">, 2745ffd83dbSDimitry Andric Flags<[HelpHidden]>, 2755ffd83dbSDimitry Andric Group<grp_content>; 2765ffd83dbSDimitry Andric 2775ffd83dbSDimitry Andricdef grp_opts : OptionGroup<"opts">, HelpText<"OPTIMIZATIONS">; 2785ffd83dbSDimitry Andric 2795ffd83dbSDimitry Andricdef dead_strip : Flag<["-"], "dead_strip">, 2805ffd83dbSDimitry Andric HelpText<"Remove unreachable functions and data">, 2815ffd83dbSDimitry Andric Group<grp_opts>; 2825ffd83dbSDimitry Andricdef order_file : Separate<["-"], "order_file">, 2835ffd83dbSDimitry Andric MetaVarName<"<file>">, 2845ffd83dbSDimitry Andric HelpText<"Layout functions and data according to specification in <file>">, 2855ffd83dbSDimitry Andric Group<grp_opts>; 2865ffd83dbSDimitry Andricdef no_order_inits : Flag<["-"], "no_order_inits">, 2875ffd83dbSDimitry Andric HelpText<"Disable default reordering of initializer and terminator functions">, 2885ffd83dbSDimitry Andric Flags<[HelpHidden]>, 2895ffd83dbSDimitry Andric Group<grp_opts>; 2905ffd83dbSDimitry Andricdef no_order_data : Flag<["-"], "no_order_data">, 2915ffd83dbSDimitry Andric HelpText<"Disable default reordering of global data accessed at launch time">, 2925ffd83dbSDimitry Andric Flags<[HelpHidden]>, 2935ffd83dbSDimitry Andric Group<grp_opts>; 2945ffd83dbSDimitry Andricdef image_base : Separate<["-"], "image_base">, 2955ffd83dbSDimitry Andric MetaVarName<"<address>">, 2965ffd83dbSDimitry Andric HelpText<"Preferred hex load address for a dylib or bundle.">, 2975ffd83dbSDimitry Andric Flags<[HelpHidden]>, 2985ffd83dbSDimitry Andric Group<grp_opts>; 2995ffd83dbSDimitry Andricdef seg1addr : Separate<["-"], "seg1addr">, 3005ffd83dbSDimitry Andric MetaVarName<"<address>">, 3015ffd83dbSDimitry Andric Alias<image_base>, 3025ffd83dbSDimitry Andric HelpText<"Alias for -image_base">, 3035ffd83dbSDimitry Andric Flags<[HelpHidden]>, 3045ffd83dbSDimitry Andric Group<grp_opts>; 3055ffd83dbSDimitry Andricdef no_implicit_dylibs : Flag<["-"], "no_implicit_dylibs">, 3065ffd83dbSDimitry Andric HelpText<"Do not optimize public dylib transitive symbol references">, 3075ffd83dbSDimitry Andric Group<grp_opts>; 3085ffd83dbSDimitry Andricdef exported_symbols_order : Separate<["-"], "exported_symbols_order">, 3095ffd83dbSDimitry Andric MetaVarName<"<file>">, 3105ffd83dbSDimitry Andric HelpText<"Specify frequently-used symbols in <file> to optimize symbol exports">, 3115ffd83dbSDimitry Andric Flags<[HelpHidden]>, 3125ffd83dbSDimitry Andric Group<grp_opts>; 3135ffd83dbSDimitry Andricdef no_zero_fill_sections : Flag<["-"], "no_zero_fill_sections">, 3145ffd83dbSDimitry Andric HelpText<"Explicitly store zeroed data in the final image">, 3155ffd83dbSDimitry Andric Flags<[HelpHidden]>, 3165ffd83dbSDimitry Andric Group<grp_opts>; 3175ffd83dbSDimitry Andricdef merge_zero_fill_sections : Flag<["-"], "merge_zero_fill_sections">, 3185ffd83dbSDimitry Andric HelpText<"Merge all zeroed data into the __zerofill section">, 3195ffd83dbSDimitry Andric Flags<[HelpHidden]>, 3205ffd83dbSDimitry Andric Group<grp_opts>; 3215ffd83dbSDimitry Andricdef no_branch_islands : Flag<["-"], "no_branch_islands">, 3225ffd83dbSDimitry Andric HelpText<"Disable infra for branches beyond the maximum branch distance.">, 3235ffd83dbSDimitry Andric Flags<[HelpHidden]>, 3245ffd83dbSDimitry Andric Group<grp_opts>; 325fe6060f1SDimitry Andricdef no_deduplicate : Flag<["-"], "no_deduplicate">, 326fe6060f1SDimitry Andric HelpText<"Disable code deduplicaiton (synonym for `--icf=none')">, 327349cc55cSDimitry Andric Alias<icf_eq>, AliasArgs<["none"]>, 328fe6060f1SDimitry Andric Group<grp_opts>; 329fe6060f1SDimitry Andric 330fe6060f1SDimitry Andricdef grp_version : OptionGroup<"version">, HelpText<"VERSION TARGETING">; 331fe6060f1SDimitry Andric 332fe6060f1SDimitry Andricdef platform_version : MultiArg<["-"], "platform_version", 3>, 333fe6060f1SDimitry Andric MetaVarName<"<platform> <min_version> <sdk_version>">, 334fe6060f1SDimitry Andric HelpText<"Platform (e.g., macos, ios, tvos, watchos, bridgeos, mac-catalyst, ios-sim, tvos-sim, watchos-sim, driverkit) and version numbers">, 335fe6060f1SDimitry Andric Group<grp_version>; 336fe6060f1SDimitry Andricdef sdk_version : Separate<["-"], "sdk_version">, 337fe6060f1SDimitry Andric HelpText<"This option is undocumented in ld64">, 338fe6060f1SDimitry Andric Flags<[HelpHidden]>, 339fe6060f1SDimitry Andric Group<grp_version>; 340fe6060f1SDimitry Andricdef macos_version_min : Separate<["-"], "macos_version_min">, 341fe6060f1SDimitry Andric MetaVarName<"<version>">, 342fe6060f1SDimitry Andric HelpText<"Oldest macOS version for which linked output is usable">, 343fe6060f1SDimitry Andric Group<grp_version>; 344fe6060f1SDimitry Andricdef macosx_version_min : Separate<["-"], "macosx_version_min">, 345fe6060f1SDimitry Andric MetaVarName<"<version>">, 346fe6060f1SDimitry Andric Alias<macos_version_min>, 347fe6060f1SDimitry Andric HelpText<"Alias for -macos_version_min">, 348fe6060f1SDimitry Andric Flags<[HelpHidden]>, 349fe6060f1SDimitry Andric Group<grp_version>; 350fe6060f1SDimitry Andricdef ios_version_min : Separate<["-"], "ios_version_min">, 351fe6060f1SDimitry Andric MetaVarName<"<version>">, 352fe6060f1SDimitry Andric HelpText<"Oldest iOS version for which linked output is usable">, 353fe6060f1SDimitry Andric Flags<[HelpHidden]>, 354fe6060f1SDimitry Andric Group<grp_version>; 355fe6060f1SDimitry Andricdef ios_simulator_version_min : Separate<["-"], "ios_simulator_version_min">, 356fe6060f1SDimitry Andric MetaVarName<"<version>">, 357fe6060f1SDimitry Andric HelpText<"Oldest iOS simulator version for which linked output is usable">, 358fe6060f1SDimitry Andric Flags<[HelpHidden]>, 359fe6060f1SDimitry Andric Group<grp_version>; 360fe6060f1SDimitry Andricdef iphoneos_version_min : Separate<["-"], "iphoneos_version_min">, 361fe6060f1SDimitry Andric MetaVarName<"<version>">, 362fe6060f1SDimitry Andric Alias<ios_version_min>, 363fe6060f1SDimitry Andric HelpText<"Alias for -ios_version_min">, 364fe6060f1SDimitry Andric Flags<[HelpHidden]>, 365fe6060f1SDimitry Andric Group<grp_version>; 366fe6060f1SDimitry Andricdef maccatalyst_version_min : Separate<["-"], "maccatalyst_version_min">, 367fe6060f1SDimitry Andric MetaVarName<"<version>">, 368fe6060f1SDimitry Andric HelpText<"Oldest MacCatalyst version for which linked output is usable">, 369fe6060f1SDimitry Andric Flags<[HelpHidden]>, 370fe6060f1SDimitry Andric Group<grp_version>; 371fe6060f1SDimitry Andricdef iosmac_version_min : Separate<["-"], "iosmac_version_min">, 372fe6060f1SDimitry Andric MetaVarName<"<version>">, 373fe6060f1SDimitry Andric Alias<maccatalyst_version_min>, 374fe6060f1SDimitry Andric HelpText<"Alias for -maccatalyst_version_min">, 375fe6060f1SDimitry Andric Flags<[HelpHidden]>, 376fe6060f1SDimitry Andric Group<grp_version>; 377fe6060f1SDimitry Andricdef uikitformac_version_min : Separate<["-"], "uikitformac_version_min">, 378fe6060f1SDimitry Andric MetaVarName<"<version>">, 379fe6060f1SDimitry Andric Alias<maccatalyst_version_min>, 380fe6060f1SDimitry Andric HelpText<"Alias for -maccatalyst_version_min">, 381fe6060f1SDimitry Andric Flags<[HelpHidden]>, 382fe6060f1SDimitry Andric Group<grp_version>; 383fe6060f1SDimitry Andricdef tvos_version_min : Separate<["-"], "tvos_version_min">, 384fe6060f1SDimitry Andric MetaVarName<"<version>">, 385fe6060f1SDimitry Andric HelpText<"Oldest tvOS version for which linked output is usable">, 386fe6060f1SDimitry Andric Flags<[HelpHidden]>, 387fe6060f1SDimitry Andric Group<grp_version>; 388fe6060f1SDimitry Andricdef watchos_version_min : Separate<["-"], "watchos_version_min">, 389fe6060f1SDimitry Andric MetaVarName<"<version>">, 390fe6060f1SDimitry Andric HelpText<"Oldest watchOS version for which linked output is usable">, 391fe6060f1SDimitry Andric Flags<[HelpHidden]>, 392fe6060f1SDimitry Andric Group<grp_version>; 393fe6060f1SDimitry Andricdef bridgeos_version_min : Separate<["-"], "bridgeos_version_min">, 394fe6060f1SDimitry Andric MetaVarName<"<version>">, 395fe6060f1SDimitry Andric HelpText<"Oldest bridgeOS version for which linked output is usable">, 396fe6060f1SDimitry Andric Flags<[HelpHidden]>, 397fe6060f1SDimitry Andric Group<grp_version>; 398fe6060f1SDimitry Andricdef driverkit_version_min : Separate<["-"], "driverkit_version_min">, 399fe6060f1SDimitry Andric MetaVarName<"<version>">, 400fe6060f1SDimitry Andric HelpText<"Oldest DriverKit version for which linked output is usable">, 401fe6060f1SDimitry Andric Flags<[HelpHidden]>, 402fe6060f1SDimitry Andric Group<grp_version>; 4035ffd83dbSDimitry Andric 4045ffd83dbSDimitry Andricdef grp_dylib : OptionGroup<"dylib">, HelpText<"DYNAMIC LIBRARIES (DYLIB)">; 4055ffd83dbSDimitry Andric 4065ffd83dbSDimitry Andricdef install_name : Separate<["-"], "install_name">, 4075ffd83dbSDimitry Andric MetaVarName<"<name>">, 4085ffd83dbSDimitry Andric HelpText<"Set an internal install path in a dylib">, 4095ffd83dbSDimitry Andric Group<grp_dylib>; 4105ffd83dbSDimitry Andricdef dylib_install_name : Separate<["-"], "dylib_install_name">, 4115ffd83dbSDimitry Andric MetaVarName<"<name>">, 4125ffd83dbSDimitry Andric Alias<install_name>, 4135ffd83dbSDimitry Andric HelpText<"Alias for -install_name">, 4145ffd83dbSDimitry Andric Group<grp_dylib>; 4155ffd83dbSDimitry Andricdef dylinker_install_name : Separate<["-"], "dylinker_install_name">, 4165ffd83dbSDimitry Andric MetaVarName<"<name>">, 4175ffd83dbSDimitry Andric Alias<install_name>, 4185ffd83dbSDimitry Andric HelpText<"Alias for -install_name">, 4195ffd83dbSDimitry Andric Group<grp_dylib>; 4205ffd83dbSDimitry Andricdef mark_dead_strippable_dylib : Flag<["-"], "mark_dead_strippable_dylib">, 421fe6060f1SDimitry Andric 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">, 4225ffd83dbSDimitry Andric Group<grp_dylib>; 4235ffd83dbSDimitry Andricdef compatibility_version : Separate<["-"], "compatibility_version">, 4245ffd83dbSDimitry Andric MetaVarName<"<version>">, 4255ffd83dbSDimitry Andric HelpText<"Compatibility <version> of this library">, 4265ffd83dbSDimitry Andric Group<grp_dylib>; 4275ffd83dbSDimitry Andricdef dylib_compatibility_version : Separate<["-"], "dylib_compatibility_version">, 4285ffd83dbSDimitry Andric MetaVarName<"<version>">, 4295ffd83dbSDimitry Andric Alias<compatibility_version>, 4305ffd83dbSDimitry Andric HelpText<"Alias for -compatibility_version">, 4315ffd83dbSDimitry Andric Flags<[HelpHidden]>, 4325ffd83dbSDimitry Andric Group<grp_dylib>; 4335ffd83dbSDimitry Andricdef current_version : Separate<["-"], "current_version">, 4345ffd83dbSDimitry Andric MetaVarName<"<version>">, 4355ffd83dbSDimitry Andric HelpText<"Current <version> of this library">, 4365ffd83dbSDimitry Andric Group<grp_dylib>; 4375ffd83dbSDimitry Andricdef dylib_current_version : Separate<["-"], "dylib_current_version">, 4385ffd83dbSDimitry Andric MetaVarName<"<version>">, 4395ffd83dbSDimitry Andric Alias<current_version>, 4405ffd83dbSDimitry Andric HelpText<"Alias for -current_version">, 4415ffd83dbSDimitry Andric Flags<[HelpHidden]>, 4425ffd83dbSDimitry Andric Group<grp_dylib>; 4435ffd83dbSDimitry Andric 4445ffd83dbSDimitry Andricdef grp_main : OptionGroup<"main">, HelpText<"MAIN EXECUTABLE">; 4455ffd83dbSDimitry Andric 4465ffd83dbSDimitry Andricdef pie : Flag<["-"], "pie">, 447fe6060f1SDimitry Andric HelpText<"Build a position independent executable (default)">, 4485ffd83dbSDimitry Andric Group<grp_main>; 4495ffd83dbSDimitry Andricdef no_pie : Flag<["-"], "no_pie">, 450fe6060f1SDimitry Andric HelpText<"Do not build a position independent executable">, 4515ffd83dbSDimitry Andric Group<grp_main>; 4525ffd83dbSDimitry Andricdef pagezero_size : Separate<["-"], "pagezero_size">, 4535ffd83dbSDimitry Andric MetaVarName<"<size>">, 4545ffd83dbSDimitry Andric HelpText<"Size of unreadable segment at address zero is hex <size> (default is 4KB on 32-bit and 4GB on 64-bit)">, 4555ffd83dbSDimitry Andric Group<grp_main>; 4565ffd83dbSDimitry Andricdef stack_size : Separate<["-"], "stack_size">, 4575ffd83dbSDimitry Andric MetaVarName<"<size>">, 4585ffd83dbSDimitry Andric HelpText<"Maximum hex stack size for the main thread in a program. (default is 8MB)">, 4595ffd83dbSDimitry Andric Flags<[HelpHidden]>, 4605ffd83dbSDimitry Andric Group<grp_main>; 4615ffd83dbSDimitry Andricdef allow_stack_execute : Flag<["-"], "allow_stack_execute">, 4625ffd83dbSDimitry Andric HelpText<"Mark stack segment as executable">, 4635ffd83dbSDimitry Andric Flags<[HelpHidden]>, 4645ffd83dbSDimitry Andric Group<grp_main>; 4655ffd83dbSDimitry Andricdef export_dynamic : Flag<["-"], "export_dynamic">, 466fe6060f1SDimitry Andric HelpText<"Preserve all global symbols during LTO and when dead-stripping executables">, 4675ffd83dbSDimitry Andric Group<grp_main>; 4685ffd83dbSDimitry Andric 4695ffd83dbSDimitry Andricdef grp_bundle : OptionGroup<"bundle">, HelpText<"CREATING A BUNDLE">; 4705ffd83dbSDimitry Andric 4715ffd83dbSDimitry Andricdef bundle_loader : Separate<["-"], "bundle_loader">, 4725ffd83dbSDimitry Andric MetaVarName<"<executable>">, 4735ffd83dbSDimitry Andric HelpText<"Resolve undefined symbols from <executable>">, 4745ffd83dbSDimitry Andric Group<grp_bundle>; 4755ffd83dbSDimitry Andric 4765ffd83dbSDimitry Andricdef grp_object : OptionGroup<"object">, HelpText<"CREATING AN OBJECT FILE">; 4775ffd83dbSDimitry Andric 4785ffd83dbSDimitry Andricdef keep_private_externs : Flag<["-"], "keep_private_externs">, 479e8d8bef9SDimitry Andric HelpText<"Do not convert private external symbols to static symbols (only valid with -r)">, 4805ffd83dbSDimitry Andric Flags<[HelpHidden]>, 4815ffd83dbSDimitry Andric Group<grp_object>; 4825ffd83dbSDimitry Andricdef d : Flag<["-"], "d">, 4835ffd83dbSDimitry Andric HelpText<"Force tentative into real definitions for common symbols">, 4845ffd83dbSDimitry Andric Flags<[HelpHidden]>, 4855ffd83dbSDimitry Andric Group<grp_object>; 4865ffd83dbSDimitry Andric 4875ffd83dbSDimitry Andricdef grp_resolve : OptionGroup<"resolve">, HelpText<"SYMBOL RESOLUTION">; 4885ffd83dbSDimitry Andric 4895ffd83dbSDimitry Andricdef exported_symbol : Separate<["-"], "exported_symbol">, 4905ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 4915ffd83dbSDimitry Andric HelpText<"<symbol> remains global, while others become private externs">, 4925ffd83dbSDimitry Andric Group<grp_resolve>; 493fe6060f1SDimitry Andricdef exported_symbols_list : Separate<["-"], "exported_symbols_list">, 4945ffd83dbSDimitry Andric MetaVarName<"<file>">, 495fe6060f1SDimitry Andric HelpText<"Symbols specified in <file> remain global, while others become private externs">, 4965ffd83dbSDimitry Andric Group<grp_resolve>; 49781ad6265SDimitry Andricdef no_exported_symbols : Flag<["-"], "no_exported_symbols">, 49881ad6265SDimitry Andric HelpText<"Don't export any symbols from the binary, useful for main executables that don't have plugins">, 49981ad6265SDimitry Andric Group<grp_resolve>; 5005ffd83dbSDimitry Andricdef unexported_symbol : Separate<["-"], "unexported_symbol">, 5015ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 5025ffd83dbSDimitry Andric HelpText<"Global <symbol> becomes private extern">, 503fe6060f1SDimitry Andric Group<grp_resolve>; 504fe6060f1SDimitry Andricdef unexported_symbols_list : Separate<["-"], "unexported_symbols_list">, 505fe6060f1SDimitry Andric MetaVarName<"<file>">, 506fe6060f1SDimitry Andric HelpText<"Global symbols specified in <file> become private externs">, 5075ffd83dbSDimitry Andric Group<grp_resolve>; 5085ffd83dbSDimitry Andricdef reexported_symbols_list : Separate<["-"], "reexported_symbols_list">, 5095ffd83dbSDimitry Andric MetaVarName<"<file>">, 5105ffd83dbSDimitry Andric HelpText<"Symbols from dependent dylibs specified in <file> are reexported by this dylib">, 5115ffd83dbSDimitry Andric Flags<[HelpHidden]>, 5125ffd83dbSDimitry Andric Group<grp_resolve>; 5135ffd83dbSDimitry Andricdef alias : MultiArg<["-"], "alias", 2>, 5145ffd83dbSDimitry Andric MetaVarName<"<symbol_name> <alternate_name>">, 5155ffd83dbSDimitry Andric HelpText<"Create a symbol alias with default global visibility">, 5165ffd83dbSDimitry Andric Group<grp_resolve>; 5175ffd83dbSDimitry Andricdef alias_list : Separate<["-"], "alias_list">, 5185ffd83dbSDimitry Andric MetaVarName<"<file>">, 5195ffd83dbSDimitry Andric HelpText<"Create symbol aliases specified in <file>">, 5205ffd83dbSDimitry Andric Flags<[HelpHidden]>, 5215ffd83dbSDimitry Andric Group<grp_resolve>; 5225ffd83dbSDimitry Andricdef flat_namespace : Flag<["-"], "flat_namespace">, 523fe6060f1SDimitry Andric 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">, 524fe6060f1SDimitry Andric Group<grp_resolve>; 525fe6060f1SDimitry Andricdef twolevel_namespace : Flag<["-"], "twolevel_namespace">, 526fe6060f1SDimitry Andric HelpText<"Make dyld look up symbols by (dylib,name) pairs (default)">, 5275ffd83dbSDimitry Andric Group<grp_resolve>; 5285ffd83dbSDimitry Andricdef u : Separate<["-"], "u">, 5295ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 5305ffd83dbSDimitry Andric HelpText<"Require that <symbol> be defined for the link to succeed">, 5315ffd83dbSDimitry Andric Group<grp_resolve>; 5325ffd83dbSDimitry Andricdef U : Separate<["-"], "U">, 5335ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 5345ffd83dbSDimitry Andric HelpText<"Allow <symbol> to have no definition">, 5355ffd83dbSDimitry Andric Group<grp_resolve>; 5365ffd83dbSDimitry Andricdef undefined : Separate<["-"], "undefined">, 5375ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 5385ffd83dbSDimitry Andric HelpText<"Handle undefined symbols according to <treatment>: error, warning, suppress, or dynamic_lookup (default is error)">, 5395ffd83dbSDimitry Andric Group<grp_resolve>; 5405ffd83dbSDimitry Andricdef rpath : Separate<["-"], "rpath">, 5415ffd83dbSDimitry Andric MetaVarName<"<path>">, 5425ffd83dbSDimitry Andric HelpText<"Add <path> to dyld search list for dylibs with load path prefix `@rpath/'">, 5435ffd83dbSDimitry Andric Group<grp_resolve>; 5445ffd83dbSDimitry Andricdef commons : Separate<["-"], "commons">, 5455ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 5465ffd83dbSDimitry Andric HelpText<"Resolve tentative definitions in dylibs according to <treatment>: ignore_dylibs, use_dylibs, error (default is ignore_dylibs)">, 5475ffd83dbSDimitry Andric Flags<[HelpHidden]>, 5485ffd83dbSDimitry Andric Group<grp_resolve>; 5495ffd83dbSDimitry Andric 5505ffd83dbSDimitry Andricdef grp_introspect : OptionGroup<"introspect">, HelpText<"INTROSPECTING THE LINKER">; 5515ffd83dbSDimitry Andric 5525ffd83dbSDimitry Andricdef why_load : Flag<["-"], "why_load">, 553e8d8bef9SDimitry Andric HelpText<"Log why each object file is loaded from a static library">, 5545ffd83dbSDimitry Andric Group<grp_introspect>; 5555ffd83dbSDimitry Andricdef whyload : Flag<["-"], "whyload">, 5565ffd83dbSDimitry Andric Alias<why_load>, 5575ffd83dbSDimitry Andric HelpText<"Alias for -why_load">, 5585ffd83dbSDimitry Andric Group<grp_introspect>; 5595ffd83dbSDimitry Andricdef why_live : Separate<["-"], "why_live">, 5605ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 5615ffd83dbSDimitry Andric HelpText<"Log a chain of references to <symbol>, for use with -dead_strip">, 5625ffd83dbSDimitry Andric Group<grp_introspect>; 5635ffd83dbSDimitry Andricdef print_statistics : Flag<["-"], "print_statistics">, 5645ffd83dbSDimitry Andric HelpText<"Log the linker's memory and CPU usage">, 5655ffd83dbSDimitry Andric Flags<[HelpHidden]>, 5665ffd83dbSDimitry Andric Group<grp_introspect>; 5675ffd83dbSDimitry Andricdef t : Flag<["-"], "t">, 5685ffd83dbSDimitry Andric HelpText<"Log every file the linker loads: object, archive, and dylib">, 5695ffd83dbSDimitry Andric Group<grp_introspect>; 5705ffd83dbSDimitry Andricdef whatsloaded : Flag<["-"], "whatsloaded">, 5715ffd83dbSDimitry Andric HelpText<"Logs only the object files the linker loads">, 5725ffd83dbSDimitry Andric Flags<[HelpHidden]>, 5735ffd83dbSDimitry Andric Group<grp_introspect>; 5745ffd83dbSDimitry Andricdef order_file_statistics : Flag<["-"], "order_file_statistics">, 5755ffd83dbSDimitry Andric HelpText<"Logs information about -order_file">, 5765ffd83dbSDimitry Andric Flags<[HelpHidden]>, 5775ffd83dbSDimitry Andric Group<grp_introspect>; 5785ffd83dbSDimitry Andricdef map : Separate<["-"], "map">, 5795ffd83dbSDimitry Andric MetaVarName<"<path>">, 5805ffd83dbSDimitry Andric HelpText<"Writes all symbols and their addresses to <path>">, 5815ffd83dbSDimitry Andric Group<grp_introspect>; 582e8d8bef9SDimitry Andricdef dependency_info : Separate<["-"], "dependency_info">, 583e8d8bef9SDimitry Andric MetaVarName<"<path>">, 584e8d8bef9SDimitry Andric HelpText<"Dump dependency info">, 585e8d8bef9SDimitry Andric Group<grp_introspect>; 586e8d8bef9SDimitry Andricdef save_temps : Flag<["-"], "save-temps">, 587e8d8bef9SDimitry Andric HelpText<"Save intermediate LTO compilation results">, 588e8d8bef9SDimitry Andric Group<grp_introspect>; 5895ffd83dbSDimitry Andric 590fe6060f1SDimitry Andricdef grp_symtab : OptionGroup<"symtab">, HelpText<"SYMBOL TABLE">; 5915ffd83dbSDimitry Andric 5925ffd83dbSDimitry Andricdef S : Flag<["-"], "S">, 5935ffd83dbSDimitry Andric HelpText<"Strip debug information (STABS or DWARF) from the output">, 5945ffd83dbSDimitry Andric Group<grp_symtab>; 5955ffd83dbSDimitry Andricdef x : Flag<["-"], "x">, 5965ffd83dbSDimitry Andric HelpText<"Exclude non-global symbols from the output symbol table">, 5975ffd83dbSDimitry Andric Group<grp_symtab>; 5985ffd83dbSDimitry Andricdef non_global_symbols_strip_list : Separate<["-"], "non_global_symbols_strip_list">, 5995ffd83dbSDimitry Andric MetaVarName<"<path>">, 6005ffd83dbSDimitry Andric HelpText<"Specify in <path> the non-global symbols that should be removed from the output symbol table">, 6015ffd83dbSDimitry Andric Group<grp_symtab>; 6025ffd83dbSDimitry Andricdef non_global_symbols_no_strip_list : Separate<["-"], "non_global_symbols_no_strip_list">, 6035ffd83dbSDimitry Andric MetaVarName<"<path>">, 6045ffd83dbSDimitry Andric HelpText<"Specify in <path> the non-global symbols that should remain in the output symbol table">, 6055ffd83dbSDimitry Andric Group<grp_symtab>; 6065ffd83dbSDimitry Andricdef oso_prefix : Separate<["-"], "oso_prefix">, 6075ffd83dbSDimitry Andric MetaVarName<"<path>">, 6085ffd83dbSDimitry Andric HelpText<"Remove the prefix <path> from OSO symbols in the debug map">, 6095ffd83dbSDimitry Andric Group<grp_symtab>; 610fe6060f1SDimitry Andricdef add_ast_path : Separate<["-"], "add_ast_path">, 611fe6060f1SDimitry Andric MetaVarName<"<path>">, 612fe6060f1SDimitry Andric HelpText<"AST paths will be emitted as STABS">, 613fe6060f1SDimitry Andric Group<grp_symtab>; 6145ffd83dbSDimitry Andric 6155ffd83dbSDimitry Andricdef grp_bitcode : OptionGroup<"bitcode">, HelpText<"BITCODE BUILD FLOW">; 6165ffd83dbSDimitry Andric 6175ffd83dbSDimitry Andricdef bitcode_bundle : Flag<["-"], "bitcode_bundle">, 6185ffd83dbSDimitry Andric HelpText<"Generate an embedded bitcode bundle in the __LLVM,__bundle section of the output">, 6195ffd83dbSDimitry Andric Group<grp_bitcode>; 6205ffd83dbSDimitry Andricdef bitcode_hide_symbols : Flag<["-"], "bitcode_hide_symbols">, 6215ffd83dbSDimitry Andric HelpText<"With -bitcode_bundle, hide all non-exported symbols from output bitcode bundle.">, 6225ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6235ffd83dbSDimitry Andric Group<grp_bitcode>; 6245ffd83dbSDimitry Andricdef bitcode_symbol_map : Separate<["-"], "bitcode_symbol_map">, 6255ffd83dbSDimitry Andric MetaVarName<"<path>">, 6265ffd83dbSDimitry Andric HelpText<"Write the bitcode symbol reverse mapping to file <path>, or if a directory, to <path>/UUID.bcsymbolmap">, 6275ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6285ffd83dbSDimitry Andric Group<grp_bitcode>; 6295ffd83dbSDimitry Andric 6305ffd83dbSDimitry Andricdef grp_rare : OptionGroup<"rare">, HelpText<"RARELY USED">; 6315ffd83dbSDimitry Andric 6325ffd83dbSDimitry Andricdef v : Flag<["-"], "v">, 633fe6060f1SDimitry Andric HelpText<"Print the linker version and search paths in addition to linking">, 634e8d8bef9SDimitry Andric Group<grp_rare>; 635e8d8bef9SDimitry Andricdef adhoc_codesign : Flag<["-"], "adhoc_codesign">, 636fe6060f1SDimitry Andric HelpText<"Write an ad-hoc code signature to the output file (default for arm64 binaries)">, 6375ffd83dbSDimitry Andric Group<grp_rare>; 638e8d8bef9SDimitry Andricdef no_adhoc_codesign : Flag<["-"], "no_adhoc_codesign">, 639fe6060f1SDimitry Andric HelpText<"Do not write an ad-hoc code signature to the output file (default for x86_64 binaries)">, 640e8d8bef9SDimitry Andric Group<grp_rare>; 6415ffd83dbSDimitry Andricdef version_details : Flag<["-"], "version_details">, 6425ffd83dbSDimitry Andric HelpText<"Print the linker version in JSON form">, 6435ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6445ffd83dbSDimitry Andric Group<grp_rare>; 6455ffd83dbSDimitry Andricdef no_weak_imports : Flag<["-"], "no_weak_imports">, 6465ffd83dbSDimitry Andric HelpText<"Fail if any symbols are weak imports, allowed to be NULL at runtime">, 6475ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6485ffd83dbSDimitry Andric Group<grp_rare>; 6495ffd83dbSDimitry Andricdef verbose_deduplicate : Flag<["-"], "verbose_deduplicate">, 6505ffd83dbSDimitry Andric HelpText<"Print function names eliminated by deduplication and the total size of code savings">, 6515ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6525ffd83dbSDimitry Andric Group<grp_rare>; 6535ffd83dbSDimitry Andricdef no_inits : Flag<["-"], "no_inits">, 6545ffd83dbSDimitry Andric HelpText<"Fail if the output contains static initializers">, 6555ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6565ffd83dbSDimitry Andric Group<grp_rare>; 6575ffd83dbSDimitry Andricdef no_warn_inits : Flag<["-"], "no_warn_inits">, 6585ffd83dbSDimitry Andric HelpText<"Suppress warnings for static initializers in the output">, 6595ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6605ffd83dbSDimitry Andric Group<grp_rare>; 6615ffd83dbSDimitry Andricdef debug_variant : Flag<["-"], "debug_variant">, 6625ffd83dbSDimitry Andric HelpText<"Suppress warnings germane to binaries shipping to customers">, 6635ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6645ffd83dbSDimitry Andric Group<grp_rare>; 6655ffd83dbSDimitry Andricdef unaligned_pointers : Separate<["-"], "unaligned_pointers">, 6665ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 6675ffd83dbSDimitry Andric HelpText<"Handle unaligned pointers in __DATA segments according to <treatment>: warning, error, or suppress (default for arm64e is error, otherwise suppress)">, 6685ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6695ffd83dbSDimitry Andric Group<grp_rare>; 6705ffd83dbSDimitry Andricdef dirty_data_list : Separate<["-"], "dirty_data_list">, 6715ffd83dbSDimitry Andric MetaVarName<"<path>">, 6725ffd83dbSDimitry Andric HelpText<"Specify data symbols in <path> destined for the __DATA_DIRTY segment">, 6735ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6745ffd83dbSDimitry Andric Group<grp_rare>; 6755ffd83dbSDimitry Andricdef max_default_common_align : Separate<["-"], "max_default_common_align">, 6765ffd83dbSDimitry Andric MetaVarName<"<boundary>">, 6775ffd83dbSDimitry Andric HelpText<"Reduce maximum alignment for common symbols to a hex power-of-2 <boundary>">, 6785ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6795ffd83dbSDimitry Andric Group<grp_rare>; 6805ffd83dbSDimitry Andricdef move_to_rw_segment : MultiArg<["-"], "move_to_rw_segment", 2>, 6815ffd83dbSDimitry Andric MetaVarName<"<segment> <path>">, 6825ffd83dbSDimitry Andric HelpText<"Move data symbols listed in <path> to another <segment>">, 6835ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6845ffd83dbSDimitry Andric Group<grp_rare>; 6855ffd83dbSDimitry Andricdef move_to_ro_segment : MultiArg<["-"], "move_to_ro_segment", 2>, 6865ffd83dbSDimitry Andric MetaVarName<"<segment> <path>">, 6875ffd83dbSDimitry Andric HelpText<"Move code symbols listed in <path> to another <segment>">, 6885ffd83dbSDimitry Andric Flags<[HelpHidden]>, 6895ffd83dbSDimitry Andric Group<grp_rare>; 6905ffd83dbSDimitry Andricdef rename_section : MultiArg<["-"], "rename_section", 4>, 6915ffd83dbSDimitry Andric MetaVarName<"<from_segment> <from_section> <to_segment> <to_section>">, 6925ffd83dbSDimitry Andric HelpText<"Rename <from_segment>/<from_section> as <to_segment>/<to_section>">, 6935ffd83dbSDimitry Andric Group<grp_rare>; 6945ffd83dbSDimitry Andricdef rename_segment : MultiArg<["-"], "rename_segment", 2>, 6955ffd83dbSDimitry Andric MetaVarName<"<from_segment> <to_segment>">, 6965ffd83dbSDimitry Andric HelpText<"Rename <from_segment> as <to_segment>">, 6975ffd83dbSDimitry Andric Group<grp_rare>; 6985ffd83dbSDimitry Andricdef trace_symbol_layout : Flag<["-"], "trace_symbol_layout">, 6995ffd83dbSDimitry Andric HelpText<"Show where and why symbols move, as specified by -move_to_ro_segment, -move_to_rw_segment, -rename_section, and -rename_segment">, 7005ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7015ffd83dbSDimitry Andric Group<grp_rare>; 702fe6060f1SDimitry Andricdef data_const : Flag<["-"], "data_const">, 703fe6060f1SDimitry Andric HelpText<"Force migration of readonly data into __DATA_CONST segment">, 704fe6060f1SDimitry Andric Group<grp_rare>; 705fe6060f1SDimitry Andricdef no_data_const : Flag<["-"], "no_data_const">, 706fe6060f1SDimitry Andric HelpText<"Block migration of readonly data away from __DATA segment">, 707fe6060f1SDimitry Andric Group<grp_rare>; 708fe6060f1SDimitry Andricdef text_exec : Flag<["-"], "text_exec">, 709fe6060f1SDimitry Andric HelpText<"Rename __segment TEXT to __TEXT_EXEC for sections __text and __stubs">, 710fe6060f1SDimitry Andric Flags<[HelpHidden]>, 711fe6060f1SDimitry Andric Group<grp_rare>; 7125ffd83dbSDimitry Andricdef section_order : MultiArg<["-"], "section_order", 2>, 7135ffd83dbSDimitry Andric MetaVarName<"<segment> <sections>">, 7145ffd83dbSDimitry Andric HelpText<"With -preload, specify layout sequence of colon-separated <sections> in <segment>">, 7155ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7165ffd83dbSDimitry Andric Group<grp_rare>; 7175ffd83dbSDimitry Andricdef segment_order : Separate<["-"], "segment_order">, 7185ffd83dbSDimitry Andric MetaVarName<"<colon_separated_segment_list>">, 7195ffd83dbSDimitry Andric HelpText<"With -preload, specify layout sequence of colon-separated <segments>">, 7205ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7215ffd83dbSDimitry Andric Group<grp_rare>; 7225ffd83dbSDimitry Andricdef allow_heap_execute : Flag<["-"], "allow_heap_execute">, 7235ffd83dbSDimitry Andric HelpText<"On i386, allow any page to execute code">, 7245ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7255ffd83dbSDimitry Andric Group<grp_rare>; 7265ffd83dbSDimitry Andricdef application_extension : Flag<["-"], "application_extension">, 727fe6060f1SDimitry Andric HelpText<"Mark output as safe for use in an application extension, and validate that linked dylibs are safe">, 7285ffd83dbSDimitry Andric Group<grp_rare>; 7295ffd83dbSDimitry Andricdef no_application_extension : Flag<["-"], "no_application_extension">, 730fe6060f1SDimitry Andric HelpText<"Disable application extension functionality (default)">, 7315ffd83dbSDimitry Andric Group<grp_rare>; 7325ffd83dbSDimitry Andricdef fatal_warnings : Flag<["-"], "fatal_warnings">, 733e8d8bef9SDimitry Andric HelpText<"Treat warnings as errors">, 7345ffd83dbSDimitry Andric Group<grp_rare>; 7355ffd83dbSDimitry Andricdef no_eh_labels : Flag<["-"], "no_eh_labels">, 7365ffd83dbSDimitry Andric HelpText<"In -r mode, suppress .eh labels in the __eh_frame section">, 7375ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7385ffd83dbSDimitry Andric Group<grp_rare>; 7395ffd83dbSDimitry Andricdef warn_compact_unwind : Flag<["-"], "warn_compact_unwind">, 7405ffd83dbSDimitry Andric HelpText<"Warn for each FDE that cannot compact into the __unwind_info section and must remain in the __eh_frame section">, 7415ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7425ffd83dbSDimitry Andric Group<grp_rare>; 7435ffd83dbSDimitry Andricdef warn_weak_exports : Flag<["-"], "warn_weak_exports">, 7445ffd83dbSDimitry Andric HelpText<"Warn if the linked image contains weak external symbols">, 7455ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7465ffd83dbSDimitry Andric Group<grp_rare>; 7475ffd83dbSDimitry Andricdef no_weak_exports : Flag<["-"], "no_weak_exports">, 7485ffd83dbSDimitry Andric HelpText<"Fail if the linked image contains weak external symbols">, 7495ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7505ffd83dbSDimitry Andric Group<grp_rare>; 7515ffd83dbSDimitry Andricdef objc_gc_compaction : Flag<["-"], "objc_gc_compaction">, 7525ffd83dbSDimitry Andric HelpText<"Mark the Objective-C image as compatible with compacting garbage collection">, 7535ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7545ffd83dbSDimitry Andric Group<grp_rare>; 7555ffd83dbSDimitry Andricdef objc_gc : Flag<["-"], "objc_gc">, 7565ffd83dbSDimitry Andric HelpText<"Verify that all code was compiled with -fobjc-gc or -fobjc-gc-only">, 7575ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7585ffd83dbSDimitry Andric Group<grp_rare>; 7595ffd83dbSDimitry Andricdef objc_gc_only : Flag<["-"], "objc_gc_only">, 7605ffd83dbSDimitry Andric HelpText<"Verify that all code was compiled with -fobjc-gc-only">, 7615ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7625ffd83dbSDimitry Andric Group<grp_rare>; 7635ffd83dbSDimitry Andricdef dead_strip_dylibs : Flag<["-"], "dead_strip_dylibs">, 7645ffd83dbSDimitry Andric HelpText<"Remove dylibs that are unreachable by the entry point or exported symbols">, 7655ffd83dbSDimitry Andric Group<grp_rare>; 7665ffd83dbSDimitry Andricdef allow_sub_type_mismatches : Flag<["-"], "allow_sub_type_mismatches">, 7675ffd83dbSDimitry Andric HelpText<"Permit mixing objects compiled for different ARM CPU subtypes">, 7685ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7695ffd83dbSDimitry Andric Group<grp_rare>; 7705ffd83dbSDimitry Andricdef no_uuid : Flag<["-"], "no_uuid">, 7715ffd83dbSDimitry Andric HelpText<"Do not generate the LC_UUID load command">, 7725ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7735ffd83dbSDimitry Andric Group<grp_rare>; 7745ffd83dbSDimitry Andricdef root_safe : Flag<["-"], "root_safe">, 7755ffd83dbSDimitry Andric HelpText<"Set the MH_ROOT_SAFE bit in the mach-o header">, 7765ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7775ffd83dbSDimitry Andric Group<grp_rare>; 7785ffd83dbSDimitry Andricdef setuid_safe : Flag<["-"], "setuid_safe">, 7795ffd83dbSDimitry Andric HelpText<"Set the MH_SETUID_SAFE bit in the mach-o header">, 7805ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7815ffd83dbSDimitry Andric Group<grp_rare>; 7825ffd83dbSDimitry Andricdef interposable : Flag<["-"], "interposable">, 7835ffd83dbSDimitry Andric HelpText<"Indirects access to all to exported symbols in a dylib">, 7845ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7855ffd83dbSDimitry Andric Group<grp_rare>; 7865ffd83dbSDimitry Andricdef multi_module : Flag<["-"], "multi_module">, 7875ffd83dbSDimitry Andric Alias<interposable>, 7885ffd83dbSDimitry Andric HelpText<"Alias for -interposable">, 7895ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7905ffd83dbSDimitry Andric Group<grp_rare>; 7915ffd83dbSDimitry Andricdef init : Separate<["-"], "init">, 7925ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 7935ffd83dbSDimitry Andric HelpText<"Run <symbol> as the first initializer in a dylib">, 7945ffd83dbSDimitry Andric Flags<[HelpHidden]>, 7955ffd83dbSDimitry Andric Group<grp_rare>; 7965ffd83dbSDimitry Andricdef sub_library : Separate<["-"], "sub_library">, 7975ffd83dbSDimitry Andric MetaVarName<"<name>">, 7985ffd83dbSDimitry Andric HelpText<"Re-export the dylib as <name>">, 7995ffd83dbSDimitry Andric Group<grp_rare>; 8005ffd83dbSDimitry Andricdef sub_umbrella : Separate<["-"], "sub_umbrella">, 8015ffd83dbSDimitry Andric MetaVarName<"<name>">, 8025ffd83dbSDimitry Andric HelpText<"Re-export the framework as <name>">, 8035ffd83dbSDimitry Andric Group<grp_rare>; 8045ffd83dbSDimitry Andricdef allowable_client : Separate<["-"], "allowable_client">, 8055ffd83dbSDimitry Andric MetaVarName<"<name>">, 8065ffd83dbSDimitry Andric HelpText<"Specify <name> of a dylib or framework that is allowed to link to this dylib">, 8075ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8085ffd83dbSDimitry Andric Group<grp_rare>; 8095ffd83dbSDimitry Andricdef client_name : Separate<["-"], "client_name">, 8105ffd83dbSDimitry Andric MetaVarName<"<name>">, 8115ffd83dbSDimitry Andric HelpText<"Specifies a <name> this client should match with the -allowable_client <name> in a dependent dylib">, 8125ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8135ffd83dbSDimitry Andric Group<grp_rare>; 8145ffd83dbSDimitry Andricdef umbrella : Separate<["-"], "umbrella">, 815fe6060f1SDimitry Andric MetaVarName<"<name>">, 816fe6060f1SDimitry Andric HelpText<"Re-export this dylib through the umbrella framework <name>">, 8175ffd83dbSDimitry Andric Group<grp_rare>; 8185ffd83dbSDimitry Andricdef headerpad : Separate<["-"], "headerpad">, 8195ffd83dbSDimitry Andric MetaVarName<"<size>">, 820e8d8bef9SDimitry Andric HelpText<"Allocate hex <size> extra space for future expansion of the load commands via install_name_tool (default is 0x20)">, 8215ffd83dbSDimitry Andric Group<grp_rare>; 8225ffd83dbSDimitry Andricdef headerpad_max_install_names : Flag<["-"], "headerpad_max_install_names">, 8235ffd83dbSDimitry Andric HelpText<"Allocate extra space so all load-command paths can expand to MAXPATHLEN via install_name_tool">, 8245ffd83dbSDimitry Andric Group<grp_rare>; 8255ffd83dbSDimitry Andricdef bind_at_load : Flag<["-"], "bind_at_load">, 8265ffd83dbSDimitry Andric HelpText<"Tell dyld to bind all symbols at load time, rather than lazily">, 8275ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8285ffd83dbSDimitry Andric Group<grp_rare>; 8295ffd83dbSDimitry Andricdef force_flat_namespace : Flag<["-"], "force_flat_namespace">, 8305ffd83dbSDimitry Andric HelpText<"Tell dyld to use a flat namespace on this executable and all its dependent dylibs & bundles">, 8315ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8325ffd83dbSDimitry Andric Group<grp_rare>; 8335ffd83dbSDimitry Andricdef segalign : Separate<["-"], "segalign">, 8345ffd83dbSDimitry Andric MetaVarName<"<boundary>">, 8355ffd83dbSDimitry Andric HelpText<"Align all segments to hex power-of-2 <boundary>">, 8365ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8375ffd83dbSDimitry Andric Group<grp_rare>; 8385ffd83dbSDimitry Andricdef sectalign : MultiArg<["-"], "sectalign", 3>, 8395ffd83dbSDimitry Andric MetaVarName<"<segment> <section> <boundary>">, 8405ffd83dbSDimitry Andric HelpText<"Align <section> within <segment> to hex power-of-2 <boundary>">, 8415ffd83dbSDimitry Andric Group<grp_rare>; 8425ffd83dbSDimitry Andricdef stack_addr : Separate<["-"], "stack_addr">, 8435ffd83dbSDimitry Andric MetaVarName<"<address>">, 8445ffd83dbSDimitry Andric HelpText<"Initialize stack pointer to hex <address> rounded to a page boundary">, 8455ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8465ffd83dbSDimitry Andric Group<grp_rare>; 8475ffd83dbSDimitry Andricdef segprot : MultiArg<["-"], "segprot", 3>, 8485ffd83dbSDimitry Andric MetaVarName<"<segment> <max> <init>">, 849fe6060f1SDimitry Andric HelpText<"Specifies the <max> and <init> virtual memory protection of <segment> as r/w/x/-seg_addr_table path">, 8505ffd83dbSDimitry Andric Group<grp_rare>; 8515ffd83dbSDimitry Andricdef segs_read_write_addr : Separate<["-"], "segs_read_write_addr">, 8525ffd83dbSDimitry Andric MetaVarName<"<address>">, 8535ffd83dbSDimitry Andric HelpText<"This option is obsolete">, 8545ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8555ffd83dbSDimitry Andric Group<grp_rare>; 8565ffd83dbSDimitry Andricdef segs_read_only_addr : Separate<["-"], "segs_read_only_addr">, 8575ffd83dbSDimitry Andric MetaVarName<"<address>">, 8585ffd83dbSDimitry Andric HelpText<"This option is obsolete">, 8595ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8605ffd83dbSDimitry Andric Group<grp_rare>; 8615ffd83dbSDimitry Andricdef segaddr : MultiArg<["-"], "segaddr", 2>, 8625ffd83dbSDimitry Andric MetaVarName<"<segment> <address>">, 8635ffd83dbSDimitry Andric HelpText<"Specify the starting hex <address> at a 4KiB page boundary for <segment>">, 8645ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8655ffd83dbSDimitry Andric Group<grp_rare>; 8665ffd83dbSDimitry Andricdef seg_page_size : MultiArg<["-"], "seg_page_size", 2>, 8675ffd83dbSDimitry Andric MetaVarName<"<segment> <size>">, 8685ffd83dbSDimitry Andric HelpText<"Specifies the page <size> for <segment>. Segment size will be a multiple of its page size">, 8695ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8705ffd83dbSDimitry Andric Group<grp_rare>; 8715ffd83dbSDimitry Andricdef dylib_file : Separate<["-"], "dylib_file">, 8725ffd83dbSDimitry Andric MetaVarName<"<install_path:current_path>">, 8735ffd83dbSDimitry Andric HelpText<"Specify <current_path> as different from where a dylib normally resides at <install_path>">, 8745ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8755ffd83dbSDimitry Andric Group<grp_rare>; 8765ffd83dbSDimitry Andricdef weak_reference_mismatches : Separate<["-"], "weak_reference_mismatches">, 8775ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 8785ffd83dbSDimitry Andric HelpText<"Resolve symbol imports of conflicting weakness according to <treatment> as weak, non-weak, or error (default is non-weak)">, 8795ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8805ffd83dbSDimitry Andric Group<grp_rare>; 8815ffd83dbSDimitry Andricdef read_only_relocs : Separate<["-"], "read_only_relocs">, 8825ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 8835ffd83dbSDimitry Andric HelpText<"Handle relocations that modify read-only pages according to <treatment> of warning, error, or suppress (i.e., allow)">, 8845ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8855ffd83dbSDimitry Andric Group<grp_rare>; 8865ffd83dbSDimitry Andricdef force_cpusubtype_ALL : Flag<["-"], "force_cpusubtype_ALL">, 8875ffd83dbSDimitry Andric HelpText<"Mark binary as runnable on any PowerPC, ignoring any PowerPC cpu requirements encoded in the object files">, 8885ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8895ffd83dbSDimitry Andric Group<grp_rare>; 8905ffd83dbSDimitry Andricdef no_arch_warnings : Flag<["-"], "no_arch_warnings">, 8915ffd83dbSDimitry Andric HelpText<"Suppresses warnings about inputs whose architecture does not match the -arch option">, 8925ffd83dbSDimitry Andric Flags<[HelpHidden]>, 8935ffd83dbSDimitry Andric Group<grp_rare>; 8945ffd83dbSDimitry Andricdef arch_errors_fatal : Flag<["-"], "arch_errors_fatal">, 8955ffd83dbSDimitry Andric HelpText<"Escalate to errors any warnings about inputs whose architecture does not match the -arch option">, 8965ffd83dbSDimitry Andric Group<grp_rare>; 8975ffd83dbSDimitry Andricdef e : Separate<["-"], "e">, 8985ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 8995ffd83dbSDimitry Andric HelpText<"Make <symbol> the entry point of an executable (default is \"start\" from crt1.o)">, 9005ffd83dbSDimitry Andric Group<grp_rare>; 9015ffd83dbSDimitry Andricdef w : Flag<["-"], "w">, 9025ffd83dbSDimitry Andric HelpText<"Suppress all warnings">, 9035ffd83dbSDimitry Andric Group<grp_rare>; 9045ffd83dbSDimitry Andricdef final_output : Separate<["-"], "final_output">, 9055ffd83dbSDimitry Andric MetaVarName<"<name>">, 906fe6060f1SDimitry Andric HelpText<"Specify dylib install name if -install_name is not used; used by compiler driver for multiple -arch arguments">, 9075ffd83dbSDimitry Andric Group<grp_rare>; 9085ffd83dbSDimitry Andricdef arch_multiple : Flag<["-"], "arch_multiple">, 9095ffd83dbSDimitry Andric HelpText<"Augment error and warning messages with the architecture name">, 9105ffd83dbSDimitry Andric Group<grp_rare>; 9115ffd83dbSDimitry Andricdef dot : Separate<["-"], "dot">, 9125ffd83dbSDimitry Andric MetaVarName<"<path>">, 9135ffd83dbSDimitry Andric HelpText<"Write a graph of symbol dependencies to <path> as a .dot file viewable with GraphViz">, 9145ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9155ffd83dbSDimitry Andric Group<grp_rare>; 9165ffd83dbSDimitry Andricdef keep_relocs : Flag<["-"], "keep_relocs">, 9175ffd83dbSDimitry Andric HelpText<"Retain section-based relocation records in the output, which are ignored at runtime by dyld">, 9185ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9195ffd83dbSDimitry Andric Group<grp_rare>; 9205ffd83dbSDimitry Andricdef warn_stabs : Flag<["-"], "warn_stabs">, 9215ffd83dbSDimitry Andric HelpText<"Warn when bad stab symbols inside a BINCL/EINCL prevent optimization">, 9225ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9235ffd83dbSDimitry Andric Group<grp_rare>; 9245ffd83dbSDimitry Andricdef warn_commons : Flag<["-"], "warn_commons">, 9255ffd83dbSDimitry Andric 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">, 9265ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9275ffd83dbSDimitry Andric Group<grp_rare>; 9285ffd83dbSDimitry Andricdef read_only_stubs : Flag<["-"], "read_only_stubs">, 9295ffd83dbSDimitry Andric HelpText<"On i386, make the __IMPORT segment of a final linked image read-only">, 9305ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9315ffd83dbSDimitry Andric Group<grp_rare>; 9325ffd83dbSDimitry Andricdef interposable_list : Separate<["-"], "interposable_list">, 9335ffd83dbSDimitry Andric MetaVarName<"<path>">, 9345ffd83dbSDimitry Andric HelpText<"Access global symbols listed in <path> indirectly">, 9355ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9365ffd83dbSDimitry Andric Group<grp_rare>; 9375ffd83dbSDimitry Andricdef no_function_starts : Flag<["-"], "no_function_starts">, 938fe6060f1SDimitry Andric HelpText<"Do not create table of function start addresses">, 9395ffd83dbSDimitry Andric Group<grp_rare>; 9405ffd83dbSDimitry Andricdef no_objc_category_merging : Flag<["-"], "no_objc_category_merging">, 9415ffd83dbSDimitry Andric HelpText<"Do not merge Objective-C categories into their classes">, 9425ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9435ffd83dbSDimitry Andric Group<grp_rare>; 9445ffd83dbSDimitry Andricdef object_path_lto : Separate<["-"], "object_path_lto">, 9455ffd83dbSDimitry Andric MetaVarName<"<path>">, 9465ffd83dbSDimitry Andric HelpText<"Retain any temporary mach-o file in <path> that would otherwise be deleted during LTO">, 9475ffd83dbSDimitry Andric Group<grp_rare>; 9485ffd83dbSDimitry Andricdef cache_path_lto : Separate<["-"], "cache_path_lto">, 9495ffd83dbSDimitry Andric MetaVarName<"<path>">, 9505ffd83dbSDimitry Andric HelpText<"Use <path> as a directory for the incremental LTO cache">, 9515ffd83dbSDimitry Andric Group<grp_rare>; 9525ffd83dbSDimitry Andricdef prune_interval_lto : Separate<["-"], "prune_interval_lto">, 9535ffd83dbSDimitry Andric MetaVarName<"<seconds>">, 9545ffd83dbSDimitry Andric HelpText<"Prune the incremental LTO cache after <seconds> (-1 disables pruning)">, 9555ffd83dbSDimitry Andric Group<grp_rare>; 9565ffd83dbSDimitry Andricdef prune_after_lto : Separate<["-"], "prune_after_lto">, 9575ffd83dbSDimitry Andric MetaVarName<"<seconds>">, 9585ffd83dbSDimitry Andric HelpText<"Remove LTO cache entries after <seconds>">, 9595ffd83dbSDimitry Andric Group<grp_rare>; 9605ffd83dbSDimitry Andricdef max_relative_cache_size_lto : Separate<["-"], "max_relative_cache_size_lto">, 9615ffd83dbSDimitry Andric MetaVarName<"<percent>">, 9625ffd83dbSDimitry Andric HelpText<"Limit the incremental LTO cache growth to <percent> of free disk, space">, 9635ffd83dbSDimitry Andric Group<grp_rare>; 9645ffd83dbSDimitry Andricdef page_align_data_atoms : Flag<["-"], "page_align_data_atoms">, 9655ffd83dbSDimitry Andric 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">, 9665ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9675ffd83dbSDimitry Andric Group<grp_rare>; 9685ffd83dbSDimitry Andricdef not_for_dyld_shared_cache : Flag<["-"], "not_for_dyld_shared_cache">, 9695ffd83dbSDimitry Andric HelpText<"Prevent system dylibs from being placed into the dylib shared cache">, 9705ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9715ffd83dbSDimitry Andric Group<grp_rare>; 972e8d8bef9SDimitry Andricdef mllvm : Separate<["-"], "mllvm">, 973e8d8bef9SDimitry Andric HelpText<"Options to pass to LLVM">, 974e8d8bef9SDimitry Andric Group<grp_rare>; 975e8d8bef9SDimitry Andricdef mcpu : Separate<["-"], "mcpu">, 976e8d8bef9SDimitry Andric HelpText<"Processor family target for LTO code generation">, 977e8d8bef9SDimitry Andric Group<grp_rare>; 978349cc55cSDimitry Andricdef no_dtrace_dof : Flag<["-"], "no_dtrace_dof">, 979349cc55cSDimitry Andric HelpText<"Disable dtrace-dof processing (default).">, 980349cc55cSDimitry Andric Group<grp_rare>; 9815ffd83dbSDimitry Andric 9825ffd83dbSDimitry Andricdef grp_deprecated : OptionGroup<"deprecated">, HelpText<"DEPRECATED">; 9835ffd83dbSDimitry Andric 9845ffd83dbSDimitry Andricdef lazy_framework : Separate<["-"], "lazy_framework">, 9855ffd83dbSDimitry Andric MetaVarName<"<name>">, 9865ffd83dbSDimitry Andric HelpText<"This option is deprecated and is now an alias for -framework.">, 9875ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9885ffd83dbSDimitry Andric Group<grp_deprecated>; 9895ffd83dbSDimitry Andricdef lazy_library : Separate<["-"], "lazy_library">, 9905ffd83dbSDimitry Andric MetaVarName<"<path>">, 9915ffd83dbSDimitry Andric HelpText<"This option is deprecated and is now an alias for regular linking">, 9925ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9935ffd83dbSDimitry Andric Group<grp_deprecated>; 9945ffd83dbSDimitry Andricdef lazy_l : Joined<["-"], "lazy-l">, 9955ffd83dbSDimitry Andric MetaVarName<"<name>">, 9965ffd83dbSDimitry Andric HelpText<"This option is deprecated and is now an alias for -l<path>.">, 9975ffd83dbSDimitry Andric Flags<[HelpHidden]>, 9985ffd83dbSDimitry Andric Group<grp_deprecated>; 9995ffd83dbSDimitry Andricdef single_module : Flag<["-"], "single_module">, 10005ffd83dbSDimitry Andric HelpText<"Unnecessary option: this is already the default">, 10015ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10025ffd83dbSDimitry Andric Group<grp_deprecated>; 10035ffd83dbSDimitry Andricdef no_dead_strip_inits_and_terms : Flag<["-"], "no_dead_strip_inits_and_terms">, 10045ffd83dbSDimitry Andric HelpText<"Unnecessary option: initialization and termination are roots of the dead strip graph, so never dead stripped">, 10055ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10065ffd83dbSDimitry Andric Group<grp_deprecated>; 10075ffd83dbSDimitry Andric 10085ffd83dbSDimitry Andricdef grp_obsolete : OptionGroup<"obsolete">, HelpText<"OBSOLETE">; 10095ffd83dbSDimitry Andric 1010fe6060f1SDimitry Andricdef sectorder : MultiArg<["-"], "sectorder", 3>, 1011fe6060f1SDimitry Andric MetaVarName<"<segname> <sectname> <orderfile>">, 1012fe6060f1SDimitry Andric HelpText<"Obsolete. Replaced by more general -order_file option">, 1013fe6060f1SDimitry Andric Group<grp_obsolete>; 1014fe6060f1SDimitry Andricdef lto_library : Separate<["-"], "lto_library">, 1015fe6060f1SDimitry Andric MetaVarName<"<path>">, 1016fe6060f1SDimitry Andric HelpText<"Obsolete. LLD supports LTO directly, without using an external dylib.">, 1017fe6060f1SDimitry Andric Group<grp_obsolete>; 10185ffd83dbSDimitry Andricdef y : Joined<["-"], "y">, 10195ffd83dbSDimitry Andric MetaVarName<"<symbol>">, 10205ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10215ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10225ffd83dbSDimitry Andric Group<grp_obsolete>; 10235ffd83dbSDimitry Andricdef sectobjectsymbols : MultiArg<["-"], "sectobjectsymbols", 2>, 10245ffd83dbSDimitry Andric MetaVarName<"<segname> <sectname>">, 10255ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10265ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10275ffd83dbSDimitry Andric Group<grp_obsolete>; 10285ffd83dbSDimitry Andricdef nofixprebinding : Flag<["-"], "nofixprebinding">, 10295ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10305ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10315ffd83dbSDimitry Andric Group<grp_obsolete>; 10325ffd83dbSDimitry Andricdef noprebind_all_twolevel_modules : Flag<["-"], "noprebind_all_twolevel_modules">, 10335ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10345ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10355ffd83dbSDimitry Andric Group<grp_obsolete>; 10365ffd83dbSDimitry Andricdef prebind_all_twolevel_modules : Flag<["-"], "prebind_all_twolevel_modules">, 10375ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10385ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10395ffd83dbSDimitry Andric Group<grp_obsolete>; 10405ffd83dbSDimitry Andricdef prebind_allow_overlap : Flag<["-"], "prebind_allow_overlap">, 10415ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10425ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10435ffd83dbSDimitry Andric Group<grp_obsolete>; 10445ffd83dbSDimitry Andricdef noprebind : Flag<["-"], "noprebind">, 10455ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10465ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10475ffd83dbSDimitry Andric Group<grp_obsolete>; 10485ffd83dbSDimitry Andricdef sect_diff_relocs : Separate<["-"], "sect_diff_relocs">, 10495ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 10505ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10515ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10525ffd83dbSDimitry Andric Group<grp_obsolete>; 10535ffd83dbSDimitry Andricdef A : Separate<["-"], "A">, 10545ffd83dbSDimitry Andric MetaVarName<"<basefile>">, 10555ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10565ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10575ffd83dbSDimitry Andric Group<grp_obsolete>; 10585ffd83dbSDimitry Andricdef b : Flag<["-"], "b">, 10595ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10605ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10615ffd83dbSDimitry Andric Group<grp_obsolete>; 10625ffd83dbSDimitry Andricdef Sn : Flag<["-"], "Sn">, 10635ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10645ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10655ffd83dbSDimitry Andric Group<grp_obsolete>; 10665ffd83dbSDimitry Andricdef Si : Flag<["-"], "Si">, 10675ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10685ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10695ffd83dbSDimitry Andric Group<grp_obsolete>; 10705ffd83dbSDimitry Andricdef Sp : Flag<["-"], "Sp">, 10715ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10725ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10735ffd83dbSDimitry Andric Group<grp_obsolete>; 10745ffd83dbSDimitry Andricdef X : Flag<["-"], "X">, 10755ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10765ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10775ffd83dbSDimitry Andric Group<grp_obsolete>; 10785ffd83dbSDimitry Andricdef s : Flag<["-"], "s">, 10795ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10805ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10815ffd83dbSDimitry Andric Group<grp_obsolete>; 10825ffd83dbSDimitry Andricdef m : Flag<["-"], "m">, 10835ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10845ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10855ffd83dbSDimitry Andric Group<grp_obsolete>; 10865ffd83dbSDimitry Andricdef Y : Separate<["-"], "Y">, 10875ffd83dbSDimitry Andric MetaVarName<"<number>">, 10885ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10895ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10905ffd83dbSDimitry Andric Group<grp_obsolete>; 10915ffd83dbSDimitry Andricdef nomultidefs : Flag<["-"], "nomultidefs">, 10925ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10935ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10945ffd83dbSDimitry Andric Group<grp_obsolete>; 10955ffd83dbSDimitry Andricdef multiply_defined_unused : Separate<["-"], "multiply_defined_unused">, 10965ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 10975ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 10985ffd83dbSDimitry Andric Flags<[HelpHidden]>, 10995ffd83dbSDimitry Andric Group<grp_obsolete>; 11005ffd83dbSDimitry Andricdef multiply_defined : Separate<["-"], "multiply_defined">, 11015ffd83dbSDimitry Andric MetaVarName<"<treatment>">, 11025ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11035ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11045ffd83dbSDimitry Andric Group<grp_obsolete>; 11055ffd83dbSDimitry Andricdef private_bundle : Flag<["-"], "private_bundle">, 11065ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11075ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11085ffd83dbSDimitry Andric Group<grp_obsolete>; 11095ffd83dbSDimitry Andricdef seg_addr_table_filename : Separate<["-"], "seg_addr_table_filename">, 11105ffd83dbSDimitry Andric MetaVarName<"<path>">, 11115ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11125ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11135ffd83dbSDimitry Andric Group<grp_obsolete>; 11145ffd83dbSDimitry Andricdef sectorder_detail : Flag<["-"], "sectorder_detail">, 11155ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11165ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11175ffd83dbSDimitry Andric Group<grp_obsolete>; 11185ffd83dbSDimitry Andricdef no_compact_linkedit : Flag<["-"], "no_compact_linkedit">, 11195ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11205ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11215ffd83dbSDimitry Andric Group<grp_obsolete>; 11225ffd83dbSDimitry Andricdef dependent_dr_info : Flag<["-"], "dependent_dr_info">, 11235ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11245ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11255ffd83dbSDimitry Andric Group<grp_obsolete>; 11265ffd83dbSDimitry Andricdef no_dependent_dr_info : Flag<["-"], "no_dependent_dr_info">, 11275ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11285ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11295ffd83dbSDimitry Andric Group<grp_obsolete>; 11305ffd83dbSDimitry Andricdef seglinkedit : Flag<["-"], "seglinkedit">, 11315ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11325ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11335ffd83dbSDimitry Andric Group<grp_obsolete>; 11345ffd83dbSDimitry Andricdef noseglinkedit : Flag<["-"], "noseglinkedit">, 11355ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11365ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11375ffd83dbSDimitry Andric Group<grp_obsolete>; 11385ffd83dbSDimitry Andricdef fvmlib : Flag<["-"], "fvmlib">, 11395ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11405ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11415ffd83dbSDimitry Andric Group<grp_obsolete>; 11425ffd83dbSDimitry Andricdef run_init_lazily : Flag<["-"], "run_init_lazily">, 11435ffd83dbSDimitry Andric HelpText<"This option is obsolete in ld64">, 11445ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11455ffd83dbSDimitry Andric Group<grp_obsolete>; 1146fe6060f1SDimitry Andricdef prebind : Flag<["-"], "prebind">, 1147fe6060f1SDimitry Andric HelpText<"This option is obsolete in ld64">, 1148fe6060f1SDimitry Andric Flags<[HelpHidden]>, 1149fe6060f1SDimitry Andric Group<grp_obsolete>; 1150fe6060f1SDimitry Andricdef twolevel_namespace_hints : Flag<["-"], "twolevel_namespace_hints">, 1151fe6060f1SDimitry Andric HelpText<"This option is obsolete in ld64">, 1152fe6060f1SDimitry Andric Flags<[HelpHidden]>, 1153fe6060f1SDimitry Andric Group<grp_obsolete>; 1154fe6060f1SDimitry Andricdef slow_stubs : Flag<["-"], "slow_stubs">, 1155fe6060f1SDimitry Andric HelpText<"This option is obsolete in ld64">, 1156fe6060f1SDimitry Andric Flags<[HelpHidden]>, 1157fe6060f1SDimitry Andric Group<grp_obsolete>; 11585ffd83dbSDimitry Andric 11595ffd83dbSDimitry Andricdef grp_undocumented : OptionGroup<"undocumented">, HelpText<"UNDOCUMENTED">; 11605ffd83dbSDimitry Andric 11615ffd83dbSDimitry Andricdef add_linker_option : Flag<["-"], "add_linker_option">, 11625ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11635ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11645ffd83dbSDimitry Andric Group<grp_undocumented>; 11655ffd83dbSDimitry Andricdef add_source_version : Flag<["-"], "add_source_version">, 11665ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11675ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11685ffd83dbSDimitry Andric Group<grp_undocumented>; 11695ffd83dbSDimitry Andricdef no_source_version : Flag<["-"], "no_source_version">, 11705ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11715ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11725ffd83dbSDimitry Andric Group<grp_undocumented>; 11735ffd83dbSDimitry Andricdef add_split_seg_info : Flag<["-"], "add_split_seg_info">, 11745ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11755ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11765ffd83dbSDimitry Andric Group<grp_undocumented>; 11775ffd83dbSDimitry Andricdef allow_dead_duplicates : Flag<["-"], "allow_dead_duplicates">, 11785ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11795ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11805ffd83dbSDimitry Andric Group<grp_undocumented>; 11815ffd83dbSDimitry Andricdef allow_simulator_linking_to_macosx_dylibs : Flag<["-"], "allow_simulator_linking_to_macosx_dylibs">, 11825ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11835ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11845ffd83dbSDimitry Andric Group<grp_undocumented>; 1185*972a253aSDimitry Andricdef bitcode_process_mode : Separate<["-"], "bitcode_process_mode">, 11865ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11875ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11885ffd83dbSDimitry Andric Group<grp_undocumented>; 11895ffd83dbSDimitry Andricdef bitcode_verify : Flag<["-"], "bitcode_verify">, 11905ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11915ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11925ffd83dbSDimitry Andric Group<grp_undocumented>; 11935ffd83dbSDimitry Andricdef classic_linker : Flag<["-"], "classic_linker">, 11945ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 11955ffd83dbSDimitry Andric Flags<[HelpHidden]>, 11965ffd83dbSDimitry Andric Group<grp_undocumented>; 11975ffd83dbSDimitry Andricdef data_in_code_info : Flag<["-"], "data_in_code_info">, 1198fe6060f1SDimitry Andric HelpText<"Emit data-in-code information (default)">, 11995ffd83dbSDimitry Andric Group<grp_undocumented>; 12005ffd83dbSDimitry Andricdef no_data_in_code_info : Flag<["-"], "no_data_in_code_info">, 1201fe6060f1SDimitry Andric HelpText<"Do not emit data-in-code information">, 12025ffd83dbSDimitry Andric Group<grp_undocumented>; 12035ffd83dbSDimitry Andricdef debug_snapshot : Flag<["-"], "debug_snapshot">, 12045ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12055ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12065ffd83dbSDimitry Andric Group<grp_undocumented>; 12075ffd83dbSDimitry Andricdef demangle : Flag<["-"], "demangle">, 1208e8d8bef9SDimitry Andric HelpText<"Demangle symbol names in diagnostics">; 12095ffd83dbSDimitry Andricdef dyld_env : Flag<["-"], "dyld_env">, 12105ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12115ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12125ffd83dbSDimitry Andric Group<grp_undocumented>; 12135ffd83dbSDimitry Andricdef encryptable : Flag<["-"], "encryptable">, 1214fe6060f1SDimitry Andric HelpText<"Generate the LC_ENCRYPTION_INFO load command">, 1215fe6060f1SDimitry Andric Group<grp_undocumented>; 1216fe6060f1SDimitry Andricdef no_encryption : Flag<["-"], "no_encryption">, 1217fe6060f1SDimitry Andric HelpText<"Do not generate the LC_ENCRYPTION_INFO load command">, 12185ffd83dbSDimitry Andric Group<grp_undocumented>; 12195ffd83dbSDimitry Andricdef executable_path : Flag<["-"], "executable_path">, 12205ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12215ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12225ffd83dbSDimitry Andric Group<grp_undocumented>; 12235ffd83dbSDimitry Andricdef fixup_chains : Flag<["-"], "fixup_chains">, 12245ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12255ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12265ffd83dbSDimitry Andric Group<grp_undocumented>; 12275ffd83dbSDimitry Andricdef fixup_chains_section : Flag<["-"], "fixup_chains_section">, 12285ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12295ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12305ffd83dbSDimitry Andric Group<grp_undocumented>; 12315ffd83dbSDimitry Andricdef flto_codegen_only : Flag<["-"], "flto-codegen-only">, 12325ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12335ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12345ffd83dbSDimitry Andric Group<grp_undocumented>; 12355ffd83dbSDimitry Andricdef force_symbol_not_weak : Flag<["-"], "force_symbol_not_weak">, 12365ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12375ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12385ffd83dbSDimitry Andric Group<grp_undocumented>; 12395ffd83dbSDimitry Andricdef force_symbols_coalesce_list : Flag<["-"], "force_symbols_coalesce_list">, 12405ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12415ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12425ffd83dbSDimitry Andric Group<grp_undocumented>; 12435ffd83dbSDimitry Andricdef force_symbols_not_weak_list : Flag<["-"], "force_symbols_not_weak_list">, 12445ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12455ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12465ffd83dbSDimitry Andric Group<grp_undocumented>; 12475ffd83dbSDimitry Andricdef force_symbols_weak_list : Flag<["-"], "force_symbols_weak_list">, 12485ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12495ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12505ffd83dbSDimitry Andric Group<grp_undocumented>; 12515ffd83dbSDimitry Andricdef force_symbol_weak : Flag<["-"], "force_symbol_weak">, 12525ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12535ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12545ffd83dbSDimitry Andric Group<grp_undocumented>; 12555ffd83dbSDimitry Andricdef function_starts : Flag<["-"], "function_starts">, 1256fe6060f1SDimitry Andric HelpText<"Create table of function start addresses (default)">, 12575ffd83dbSDimitry Andric Group<grp_undocumented>; 12585ffd83dbSDimitry Andricdef i : Flag<["-"], "i">, 12595ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12605ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12615ffd83dbSDimitry Andric Group<grp_undocumented>; 12625ffd83dbSDimitry Andricdef ignore_auto_link : Flag<["-"], "ignore_auto_link">, 12635ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12645ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12655ffd83dbSDimitry Andric Group<grp_undocumented>; 12665ffd83dbSDimitry Andricdef ignore_optimization_hints : Flag<["-"], "ignore_optimization_hints">, 126781ad6265SDimitry Andric HelpText<"Ignore Linker Optimization Hints">, 12685ffd83dbSDimitry Andric Group<grp_undocumented>; 12695ffd83dbSDimitry Andricdef init_offsets : Flag<["-"], "init_offsets">, 12705ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12715ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12725ffd83dbSDimitry Andric Group<grp_undocumented>; 12735ffd83dbSDimitry Andricdef keep_dwarf_unwind : Flag<["-"], "keep_dwarf_unwind">, 12745ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12755ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12765ffd83dbSDimitry Andric Group<grp_undocumented>; 12775ffd83dbSDimitry Andricdef no_keep_dwarf_unwind : Flag<["-"], "no_keep_dwarf_unwind">, 12785ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12795ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12805ffd83dbSDimitry Andric Group<grp_undocumented>; 12815ffd83dbSDimitry Andricdef kext : Flag<["-"], "kext">, 12825ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12835ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12845ffd83dbSDimitry Andric Group<grp_undocumented>; 12855ffd83dbSDimitry Andricdef kext_objects_dir : Flag<["-"], "kext_objects_dir">, 12865ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12875ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12885ffd83dbSDimitry Andric Group<grp_undocumented>; 12895ffd83dbSDimitry Andricdef no_kext_objects : Flag<["-"], "no_kext_objects">, 12905ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12915ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12925ffd83dbSDimitry Andric Group<grp_undocumented>; 12935ffd83dbSDimitry Andricdef kexts_use_stubs : Flag<["-"], "kexts_use_stubs">, 12945ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12955ffd83dbSDimitry Andric Flags<[HelpHidden]>, 12965ffd83dbSDimitry Andric Group<grp_undocumented>; 12975ffd83dbSDimitry Andricdef no_compact_unwind : Flag<["-"], "no_compact_unwind">, 12985ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 12995ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13005ffd83dbSDimitry Andric Group<grp_undocumented>; 13015ffd83dbSDimitry Andricdef no_new_main : Flag<["-"], "no_new_main">, 13025ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13035ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13045ffd83dbSDimitry Andric Group<grp_undocumented>; 13055ffd83dbSDimitry Andricdef pause : Flag<["-"], "pause">, 13065ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13075ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13085ffd83dbSDimitry Andric Group<grp_undocumented>; 13095ffd83dbSDimitry Andricdef random_uuid : Flag<["-"], "random_uuid">, 13105ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13115ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13125ffd83dbSDimitry Andric Group<grp_undocumented>; 13135ffd83dbSDimitry Andricdef simulator_support : Flag<["-"], "simulator_support">, 13145ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13155ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13165ffd83dbSDimitry Andric Group<grp_undocumented>; 13175ffd83dbSDimitry Andricdef snapshot_dir : Flag<["-"], "snapshot_dir">, 13185ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13195ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13205ffd83dbSDimitry Andric Group<grp_undocumented>; 13215ffd83dbSDimitry Andricdef source_version : Flag<["-"], "source_version">, 13225ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13235ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13245ffd83dbSDimitry Andric Group<grp_undocumented>; 13255ffd83dbSDimitry Andricdef threaded_starts_section : Flag<["-"], "threaded_starts_section">, 13265ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13275ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13285ffd83dbSDimitry Andric Group<grp_undocumented>; 13295ffd83dbSDimitry Andricdef verbose_optimization_hints : Flag<["-"], "verbose_optimization_hints">, 13305ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13315ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13325ffd83dbSDimitry Andric Group<grp_undocumented>; 13335ffd83dbSDimitry Andricdef version_load_command : Flag<["-"], "version_load_command">, 13345ffd83dbSDimitry Andric HelpText<"This option is undocumented in ld64">, 13355ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13365ffd83dbSDimitry Andric Group<grp_undocumented>; 13375ffd83dbSDimitry Andric 13385ffd83dbSDimitry Andricdef grp_ignored : OptionGroup<"ignored">, HelpText<"IGNORED">; 13395ffd83dbSDimitry Andric 13405ffd83dbSDimitry Andricdef M : Flag<["-"], "M">, 13415ffd83dbSDimitry Andric HelpText<"This option is ignored in ld64">, 13425ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13435ffd83dbSDimitry Andric Group<grp_ignored>; 13445ffd83dbSDimitry Andricdef new_linker : Flag<["-"], "new_linker">, 13455ffd83dbSDimitry Andric HelpText<"This option is ignored in ld64">, 13465ffd83dbSDimitry Andric Flags<[HelpHidden]>, 13475ffd83dbSDimitry Andric Group<grp_ignored>; 1348349cc55cSDimitry Andric 1349349cc55cSDimitry Andricdef grp_ignored_silently : OptionGroup<"ignored_silently">, HelpText<"IGNORED SILENTLY">; 1350349cc55cSDimitry Andric 1351349cc55cSDimitry Andricdef objc_abi_version : Separate<["-"], "objc_abi_version">, 1352349cc55cSDimitry Andric HelpText<"This option only applies to i386 in ld64">, 1353349cc55cSDimitry Andric Flags<[HelpHidden]>, 1354349cc55cSDimitry Andric Group<grp_ignored_silently>; 1355