Hi Sandra,
> On 19 Nov 2025, at 20:07, Sandra Loosemore <[email protected]> wrote:
>
> The Darwin target options documentation was a bit of a mess, with several
> undocumented options, some that were listed in the option summary or mentioned
> in discussion of other options but not actually documented, and a large
> number of options listed in darwin.opt as being obsolete.
>
> I've undocumented all the obsolete options to streamline things, plus a few
> others that seem to have been intentially undocumented or supplanted by
> other options. For the others that were probably supposed to documented,
> I did my best to guess what they're for by reading the code or just
> copying the documentation string in the .opt file, but it's certainly
> possible I screwed some up.
Thank you very much for doing this. I agree that making the obsolete options
undocumented makes sense - I’d love to remove them, but there are downstream
build recipes that use them.
I did not spot any descriptions that looked off.
So OK for trunk,
thanks
Iain
P.S. — are there any outstanding documentation queries that I need to
resolve? (just getting back to general maintenance after C++y things)
>
> gcc/ChangeLog
> PR other/122243
> * config/darwin.opt (findirect-virtual-calls): Mark as Undocumented.
> (fterminated-vtables): Likewise.
> (multi_module): Likewise.
> (multiply_defined): Likewise.
> (multiply_defined_unused): Likewise.
> (no_dead_strip_inits_and_terms): Likewise.
> (noprefixbinding): Likewise.
> (nomultidefs): Likewise.
> (noprebind): Likewise.
> (noseglinkedit): Likewise.
> (ObjC, ObjC++): Add documentation strings.
> (object): Mark as Undocumented.
> (prebind): Likewise.
> (prebind_all_twolevel_modules): Likewise.
> (private_bundle): Likewise.
> (sectobjectsymbols): Likewise.
> (sectorder): Likewise.
> (seg_addr_table_filename): Likewise.
> (segcreate): Likewise.
> (seglinkedit): Likewise.
> (single_module): Likewise.
> (X): Likewise.
> (y): Likewise.
> (Mach): Likewise.
> * doc/invoke.texi (Option Summary) <Darwin Options>: Improve
> alphabetization of the list. Remove obsolete/undocumented
> options and add missing entries.
> (Darwin Options): Add documentation for -arch, -dependency-file,
> -fapple-kext, -matt-stubs, -fconstant-cfstrings, -mdynamic-no-pic,
> -asm_macosx_version_min, -msymbol-stubs, -mtarget-linker,
> -ObjC, -ObjC++, -Wnonportable-cfstrings. Update the list
> of options passed to the linker to remove obsolete options
> and add missing ones; also move the block of @opindex entries
> before the list items instead of putting it in the middle.
> ---
> gcc/config/darwin.opt | 53 ++++----
> gcc/doc/invoke.texi | 300 ++++++++++++++++++++++++------------------
> 2 files changed, 202 insertions(+), 151 deletions(-)
>
> diff --git a/gcc/config/darwin.opt b/gcc/config/darwin.opt
> index e275d846cd1..d6e6271f9cf 100644
> --- a/gcc/config/darwin.opt
> +++ b/gcc/config/darwin.opt
> @@ -169,8 +169,9 @@ filelist
> Driver RejectNegative Separate
> Supply a list of objects to be linked from a file, rather than the command
> line.
>
> +; specs turn this into fapple-kext.
> findirect-virtual-calls
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> Used for generating code for some older kernel revisions.
>
> flat_namespace
> @@ -189,8 +190,9 @@ framework
> Driver RejectNegative Separate
> -framework <name> The linker should search for the framework <name> in the
> framework search path.
>
> +; specs turn this into fapple-kext.
> fterminated-vtables
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> Used for generating code for some older kernel revisions.
>
> gfull
> @@ -222,19 +224,19 @@ Driver RejectNegative
> Usually \"private extern\" (hidden) symbols are made local when linking, this
> command suppresses that such that they remain exported.
>
> multi_module
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4.
>
> multiply_defined
> -Driver RejectNegative Separate
> +Driver RejectNegative Separate Undocumented
> (Obsolete after 10.4) -multiply_defined <treatment> Provided a mechanism for
> warning about symbols defined in multiple dylibs.
>
> multiply_defined_unused
> -Driver RejectNegative Separate
> +Driver RejectNegative Separate Undocumented
> (Obsolete after 10.4) -multiply_defined_unused <treatment> Provided a
> mechanism for warning about symbols defined in the current executable also
> being defined in linked dylibs.
>
> no_dead_strip_inits_and_terms
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete) Current linkers never dead-strip these items, so the option is not
> needed.
>
> nodefaultexport
> @@ -246,40 +248,45 @@ Driver RejectNegative
> Do not add default run paths (for the compiler library directories) to
> executables, modules or dynamic libraries.
>
> nofixprebinding
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable.
>
> nomultidefs
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete after 10.4) Set MH_NOMULTIDEFS in an umbrella framework.
>
> noprebind
> -Driver RejectNegative Negative(prebind)
> +Driver RejectNegative Negative(prebind) Undocumented
> (Obsolete) LD_PREBIND is no longer supported.
>
> noseglinkedit
> -Driver RejectNegative Negative(seglinkedit)
> +Driver RejectNegative Negative(seglinkedit) Undocumented
> (Obsolete) This is the default.
>
> ObjC
> Driver RejectNegative
> +Equivalent to -xobjective-c.
>
> ObjC++
> Driver RejectNegative
> +Equivalent to -xobjective-c++.
>
> +; This option is only used in STARTFILE_SPEC and has never been
> +; documented since it was added in 2002, so it appears to be
> +; intentionally undocumented.
> object
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
>
> pagezero_size
> Driver RejectNegative Separate
> -pagezero_size <size> Allows setting the page 0 size to 4kb when required.
>
> prebind
> -Driver RejectNegative Negative(noprebind)
> +Driver RejectNegative Negative(noprebind) Undocumented
> (Obsolete) LD_PREBIND is no longer supported.
>
> prebind_all_twolevel_modules
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete) LD_PREBIND is no longer supported.
>
> preload
> @@ -287,7 +294,7 @@ Driver RejectNegative
> Produces a Mach-O file suitable for embedded/ROM use.
>
> private_bundle
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked
> bundle contained a symbol also exported from the main executable.
>
> pthread
> @@ -310,11 +317,11 @@ Driver RejectNegative Separate Args(3)
> -sectcreate <segname> <sectname> <file> Create section <sectname> in segment
> <segname> from the contents of <file>.
>
> sectobjectsymbols
> -Driver RejectNegative Separate Args(2)
> +Driver RejectNegative Separate Args(2) Undocumented
> (Obsolete) -sectobjectsymbols <segname> <sectname> Setting a local symbol at
> the start of a section is no longer supported.
>
> sectorder
> -Driver RejectNegative Separate Args(3)
> +Driver RejectNegative Separate Args(3) Undocumented
> (Obsolete) -sectorder <segname> <sectname> <orderfile> Replaced by a more
> general option \"-order_file\".
>
> seg_addr_table
> @@ -323,7 +330,7 @@ Driver RejectNegative Separate
>
> ; This is only usable by the ld_classic linker.
> seg_addr_table_filename
> -Driver RejectNegative Separate
> +Driver RejectNegative Separate Undocumented
> (Obsolete, ld_classic only) -seg_addr_table_filename <path>.
>
> seg1addr
> @@ -336,11 +343,11 @@ Driver RejectNegative Separate Args(2)
>
> ; This is only usable by the ld_classic linker.
> segcreate
> -Driver RejectNegative Separate Args(3)
> +Driver RejectNegative Separate Args(3) Undocumented
> (Obsolete, ld_classic only) -sectcreate <segname> <sectname> <file> Allowed
> creation of a section from a file.
>
> seglinkedit
> -Driver RejectNegative Negative(noseglinkedit)
> +Driver RejectNegative Negative(noseglinkedit) Undocumented
> (Obsolete) Object files with LINKEDIT sections are no longer supported.
>
> segprot
> @@ -356,7 +363,7 @@ Driver RejectNegative Separate
> -segs_read_write_addr <address> Specify that <address> is the base address
> address of the read-write segments of a dylib.
>
> single_module
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete) This is the default.
>
> sub_library
> @@ -405,12 +412,12 @@ Logs which symbol(s) caused an object to be loaded.
>
> ;(Obsolete, ignored) Strip symbols starting with "L", this is the default.
> X
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
>
> y
> -Driver RejectNegative Joined
> +Driver RejectNegative Joined Undocumented
> (Obsolete, ignored) Old support similar to \"-whyload\".
>
> Mach
> -Driver RejectNegative
> +Driver RejectNegative Undocumented
> (Obsolete and unhandled by ld64, ignored) ld should produce an executable
> (only handled by ld_classic).
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 8d5582d6d15..9cfeb690c21 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -1033,31 +1033,33 @@ Objective-C and Objective-C++ Dialects}.
> -fwritable-relocated-rdata -mpe-aligned-commons}
>
> @emph{Darwin Options} (@ref{Darwin Options})
> -@gccoptlist{-all_load -allowable_client -arch -arch_errors_fatal
> --arch_only -bind_at_load -bundle -bundle_loader
> +@gccoptlist{-all_load -allowable_client -arch @var{name}
> +-arch_errors_fatal -asm_macosx_version_min=@var{version}
> +-bind_at_load -bundle -bundle_loader
> -client_name -compatibility_version -current_version
> -dead_strip
> --dependency-file -dylib_file -dylinker_install_name
> +-dependency-file -dylib_file -dylinker -dylinker_install_name
> -dynamic -dynamiclib -exported_symbols_list
> --filelist -flat_namespace -force_cpusubtype_ALL
> --force_flat_namespace -headerpad_max_install_names
> --iframework
> --image_base -init -install_name -keep_private_externs
> --multi_module -multiply_defined -multiply_defined_unused
> --noall_load -no_dead_strip_inits_and_terms -nodefaultrpaths
> --nofixprebinding -nomultidefs -noprebind -noseglinkedit
> --pagezero_size -prebind -prebind_all_twolevel_modules
> --private_bundle -read_only_relocs -sectalign
> --sectobjectsymbols -whyload -seg1addr
> --sectcreate -sectobjectsymbols -sectorder
> --segaddr -segs_read_only_addr -segs_read_write_addr
> --seg_addr_table -seg_addr_table_filename -seglinkedit
> +-fapple-kext -fconstant-cfstrings -ffix-and-continue
> +-filelist -findirect-data -flat_namespace -force_cpusubtype_ALL
> +-force_flat_namespace -framework @var{name} -gfull -gused
> +-headerpad_max_install_names -iframework
> +-image_base -init @var{symbol-name} -install_name -keep_private_externs
> +-matt-stubs -mconstant-cfstrings -mdynamic-no-pic
> +-mfix-and-continue -mkernel -mmacosx-version-min=@var{version}
> +-mone-byte-bool -msymbol-stubs -mtarget-linker@r{[}=@r{]}@var{version}
> +-nodefaultexport -nodefaultrpaths
> +-pagezero_size -preload -read_only_relocs
> +-sectalign -sectcreate
> +-seg_addr_table
> +-seg1addr -segaddr
> -segprot -segs_read_only_addr -segs_read_write_addr
> --single_module -static -sub_library -sub_umbrella
> --twolevel_namespace -umbrella -undefined
> --unexported_symbols_list -weak_reference_mismatches
> --whatsloaded -F -gused -gfull -mmacosx-version-min=@var{version}
> --mkernel -mone-byte-bool}
> +-sub_library -sub_umbrella
> +-twolevel_namespace -twolevel_namespace_hints
> +-umbrella -undefined -unexported_symbols_list
> +-weak_framework @var{name} -weak_reference_mismatches
> +-whatsloaded -whyload
> +-F -ObjC -ObjC++ -Wnonportable-cfstrings}
>
> @emph{DEC Alpha Options} (@ref{DEC Alpha Options})
> @gccoptlist{-mno-fp-regs -msoft-float
> @@ -26752,6 +26754,24 @@ directory. The main difference between this
> @option{-iframework} and
> warn about constructs contained within header files found via
> @var{dir}. This option is valid only for the C family of languages.
>
> +@opindex arch
> +@item -arch @var{name}
> +Generate output for architecture @var{name}. As described above, GCC
> +generates output for the architecture it was configured for, using its
> +usual options to select subarchitecture variants. The @option{-arch}
> +option is accepted for compatibility, but an error is diagnosed if
> +@var{name} is inconsistent with GCC's own idea of the target architecture.
> +
> +@opindex dependency-file
> +@item -dependency-file @var{filename}
> +Alias for the preprocessor option @option{-MF @var{filename}}.
> +@xref{Preprocessor Options}.
> +
> +@opindex fapple-kext
> +@opindex fno-apple-kext
> +@item -fapple-kext
> +Generate code for Darwin loadable kernel extensions.
> +
> @opindex gused
> @item -gused
> Emit debugging information for symbols that are used. For stabs
> @@ -26762,28 +26782,45 @@ This is by default ON@.
> @item -gfull
> Emit debugging information for all symbols and types.
>
> -@opindex fconstant-cfstrings
> -@item -fconstant-cfstrings
> -The @option{-fconstant-cfstrings} is an alias for
> @option{-mconstant-cfstrings}.
> +@opindex matt-stubs
> +@opindex mno-att-stubs
> +@item -matt-stubs
> +@itemx -mno-att-stubs
> +Enable AT&T-style PIC stubs. This is the default when supported by
> +the target architecture (currently x86 only).
>
> @opindex mconstant-cfstrings
> +@opindex mno-constant-cfstrings
> +@opindex fconstant-cfstrings
> @item -mconstant-cfstrings
> +@itemx -fconstant-cfstrings
> When the NeXT runtime is being used (the default on these systems), override
> any @option{-fconstant-string-class} setting and cause @code{@@"@dots{}"}
> literals to be laid out as constant CoreFoundation strings.
>
> -@opindex mmacosx-version-min
> -@item -mmacosx-version-min=@var{version}
> -The earliest version of MacOS X that this executable will run on is
> -@var{version}. Typical values supported for @var{version} include @code{12},
> -@code{10.12}, and @code{10.5.8}.
> +@option{-fconstant-cfstrings} is an alias for @option{-mconstant-cfstrings}.
>
> -If the compiler was built to use the system's headers by default,
> -then the default for this option is the system version on which the
> -compiler is running, otherwise the default is to make choices that
> -are compatible with as many systems and code bases as possible.
> +@opindex mdynamic-no-pic
> +@opindex mno-dynamic-no-pic
> +@item -mdynamic-no-pic
> +Generate code suitable for executables (not shared libraries). This
> +option is incompatible with @option{-fpic}, @option{-fPIC}, @option{-fpie},
> +or @option{-fPIE}.
> +
> +@opindex mfix-and-continue
> +@opindex mno-fix-and-continue
> +@opindex ffix-and-continue
> +@opindex findirect-data
> +@item -mfix-and-continue
> +@itemx -ffix-and-continue
> +@itemx -findirect-data
> +Generate code suitable for fast turnaround development, such as to
> +allow GDB to dynamically load @file{.o} files into already-running
> +programs. @option{-findirect-data} and @option{-ffix-and-continue}
> +are provided for backwards compatibility.
>
> @opindex mkernel
> +@opindex mno-kernel
> @item -mkernel
> Enable kernel development mode. The @option{-mkernel} option sets
> @option{-static}, @option{-fno-common}, @option{-fno-use-cxa-atexit},
> @@ -26793,6 +26830,23 @@ applicable. This mode also sets
> @option{-mno-altivec},
> @option{-msoft-float}, @option{-fno-builtin} and
> @option{-mlong-branch} for PowerPC targets.
>
> +@opindex mmacosx-version-min
> +@opindex asm_macosx_version_min
> +@item -mmacosx-version-min=@var{version}
> +@itemx -asm_macosx_version_min=@var{version}
> +The @option{-mmacosx-version-min} option specifies
> +the earliest version of MacOS X that this executable will run on is
> +@var{version}. Typical values supported for @var{version} include @code{12},
> +@code{10.12}, and @code{10.5.8}.
> +
> +If the compiler was built to use the system's headers by default,
> +then the default for this option is the system version on which the
> +compiler is running, otherwise the default is to make choices that
> +are compatible with as many systems and code bases as possible.
> +
> +@option{-asm_macosx_version_min=@var{version}} is similar, but the GCC
> +driver passes its @var{version} information only to the assembler.
> +
> @opindex mone-byte-bool
> @item -mone-byte-bool
> Override the defaults for @code{bool} so that @code{sizeof(bool)==1}.
> @@ -26806,16 +26860,37 @@ without that switch. Using this switch may require
> recompiling all
> other modules in a program, including system libraries. Use this
> switch to conform to a non-default data model.
>
> -@opindex mfix-and-continue
> -@opindex ffix-and-continue
> -@opindex findirect-data
> -@item -mfix-and-continue
> -@itemx -ffix-and-continue
> -@itemx -findirect-data
> -Generate code suitable for fast turnaround development, such as to
> -allow GDB to dynamically load @file{.o} files into already-running
> -programs. @option{-findirect-data} and @option{-ffix-and-continue}
> -are provided for backwards compatibility.
> +@opindex msymbol-stubs
> +@opindex mno-symbol-stubs
> +@item -msymbol-stubs
> +@itemx -mno-symbol-stubs
> +Force generation of external symbol indirection stubs for PIC references.
> +By default, this option is enabled automatically if the target linker
> +version (@option{-mtarget-linker}) is old enough to require them.
> +
> +@opindex mtarget-linker
> +@item -mtarget-linker=@var{version}
> +@item -mtarget-linker @var{version}
> +Specify the target @command{ld64} version, overriding any version specified
> +in the GCC configuration. Newer linker versions support improved code
> +generation in some cases, for example for PIC code.
> +
> +@opindex ObjC
> +@item -ObjC
> +Equivalent to @samp{-x objective-c}; specifies that the input is
> +is Objective-C source code.
> +
> +@opindex ObjC++
> +@item -ObjC++
> +Equivalent to @samp{-x objective-c++}; specifies that the input is
> +is Objective-C++ source code.
> +
> +@opindex Wnonportable-cfstrings
> +@opindex Wno-nonportable-cfstrings
> +@item -Wnonportable-cfstrings
> +@itemx -Wno-nonportable-cfstrings
> +Warn if constant CoreFoundation string objects contain non-portable
> +characters. This warning is enabled by default.
>
> @opindex all_load
> @item -all_load
> @@ -26860,13 +26935,57 @@ the embedded runpath is added by default unless the
> user adds
> @option{-nodefaultrpaths} to the link line. Run paths are needed
> (and therefore enforced) to build on macOS version 10.11 or later.
>
> +@opindex nodefaultexport
> +@item -nodefaultexport
> +Do not add default symbol exports to modules or dynamic libraries.
> +
> +@opindex allowable_client
> +@opindex client_name
> +@opindex compatibility_version
> +@opindex current_version
> +@opindex dead_strip
> +@opindex dylib_file
> +@opindex dylinker
> +@opindex dylinker_install_name
> +@opindex dynamic
> +@opindex exported_symbols_list
> +@opindex filelist
> +@opindex flat_namespace
> +@opindex force_flat_namespace
> +@opindex framework
> +@opindex headerpad_max_install_names
> +@opindex image_base
> +@opindex init
> +@opindex install_name
> +@opindex keep_private_externs
> +@opindex pagezero_size
> +@opindex read_only_relocs
> +@opindex sectalign
> +@opindex sectcreate
> +@opindex seg_addr_table
> +@opindex seg1addr
> +@opindex segaddr
> +@opindex segprot
> +@opindex segs_read_only_addr
> +@opindex segs_read_write_addr
> +@opindex sub_library
> +@opindex sub_umbrella
> +@opindex twolevel_namespace
> +@opindex twolevel_namespace_hints
> +@opindex umbrella
> +@opindex undefined
> +@opindex unexported_symbols_list
> +@opindex weak_framework
> +@opindex weak_reference_mismatches
> +@opindex whatsloaded
> +@opindex whyload
> @item -allowable_client @var{client_name}
> @itemx -client_name
> @itemx -compatibility_version
> @itemx -current_version
> @itemx -dead_strip
> -@itemx -dependency-file
> @itemx -dylib_file
> +@itemx -dylinker
> @itemx -dylinker_install_name
> @itemx -dynamic
> @itemx -exported_symbols_list
> @@ -26874,113 +26993,38 @@ the embedded runpath is added by default unless
> the user adds
> @need 800
> @itemx -flat_namespace
> @itemx -force_flat_namespace
> +@itemx -framework
> @itemx -headerpad_max_install_names
> @itemx -image_base
> -@itemx -init
> +@itemx -init @var{symbol-name}
> @itemx -install_name
> @itemx -keep_private_externs
> -@itemx -multi_module
> -@itemx -multiply_defined
> -@itemx -multiply_defined_unused
> @need 800
> -@itemx -noall_load
> -@itemx -no_dead_strip_inits_and_terms
> -@itemx -nofixprebinding
> -@itemx -nomultidefs
> -@itemx -noprebind
> -@itemx -noseglinkedit
> @itemx -pagezero_size
> -@itemx -prebind
> -@itemx -prebind_all_twolevel_modules
> -@itemx -private_bundle
> +@itemx -preload
> @need 800
> @itemx -read_only_relocs
> @itemx -sectalign
> -@itemx -sectobjectsymbols
> -@itemx -whyload
> -@itemx -seg1addr
> @itemx -sectcreate
> -@itemx -sectobjectsymbols
> -@itemx -sectorder
> -@itemx -segaddr
> -@itemx -segs_read_only_addr
> -@need 800
> -@itemx -segs_read_write_addr
> @itemx -seg_addr_table
> -@itemx -seg_addr_table_filename
> -@itemx -seglinkedit
> +@itemx -seg1addr
> +@itemx -segaddr
> +@need 800
> @itemx -segprot
> @itemx -segs_read_only_addr
> @itemx -segs_read_write_addr
> -@itemx -single_module
> -@itemx -static
> @itemx -sub_library
> @need 800
> -@opindex allowable_client
> -@opindex client_name
> -@opindex compatibility_version
> -@opindex current_version
> -@opindex dead_strip
> -@opindex dependency-file
> -@opindex dylib_file
> -@opindex dylinker_install_name
> -@opindex dynamic
> -@opindex exported_symbols_list
> -@opindex filelist
> -@opindex flat_namespace
> -@opindex force_flat_namespace
> -@opindex headerpad_max_install_names
> -@opindex image_base
> -@opindex init
> -@opindex install_name
> -@opindex keep_private_externs
> -@opindex multi_module
> -@opindex multiply_defined
> -@opindex multiply_defined_unused
> -@opindex noall_load
> -@opindex no_dead_strip_inits_and_terms
> -@opindex nofixprebinding
> -@opindex nomultidefs
> -@opindex noprebind
> -@opindex noseglinkedit
> -@opindex pagezero_size
> -@opindex prebind
> -@opindex prebind_all_twolevel_modules
> -@opindex private_bundle
> -@opindex read_only_relocs
> -@opindex sectalign
> -@opindex sectobjectsymbols
> -@opindex whyload
> -@opindex seg1addr
> -@opindex sectcreate
> -@opindex sectobjectsymbols
> -@opindex sectorder
> -@opindex segaddr
> -@opindex segs_read_only_addr
> -@opindex segs_read_write_addr
> -@opindex seg_addr_table
> -@opindex seg_addr_table_filename
> -@opindex seglinkedit
> -@opindex segprot
> -@opindex segs_read_only_addr
> -@opindex segs_read_write_addr
> -@opindex single_module
> -@opindex static
> -@opindex sub_library
> -@opindex sub_umbrella
> -@opindex twolevel_namespace
> -@opindex umbrella
> -@opindex undefined
> -@opindex unexported_symbols_list
> -@opindex weak_reference_mismatches
> -@opindex whatsloaded
> @itemx -sub_umbrella
> @itemx -twolevel_namespace
> +@itemx -twolevel_namespace_hints
> @itemx -umbrella
> @itemx -undefined
> @itemx -unexported_symbols_list
> +@itemx -weak_framework
> @itemx -weak_reference_mismatches
> @itemx -whatsloaded
> +@itemx -whyload
> These options are passed to the Darwin linker. The Darwin linker man page
> describes them in detail.
> @end table
> --
> 2.39.5
>