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