mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-08 04:29:46 +00:00
399 lines
13 KiB
Plaintext
399 lines
13 KiB
Plaintext
; Processor-independent options for Darwin.
|
|
|
|
; Copyright (C) 2005-2022 Free Software Foundation, Inc.
|
|
;
|
|
; This file is part of GCC.
|
|
;
|
|
; GCC is free software; you can redistribute it and/or modify it under
|
|
; the terms of the GNU General Public License as published by the Free
|
|
; Software Foundation; either version 3, or (at your option) any later
|
|
; version.
|
|
;
|
|
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
; for more details.
|
|
;
|
|
; You should have received a copy of the GNU General Public License
|
|
; along with GCC; see the file COPYING3. If not see
|
|
; <http://www.gnu.org/licenses/>.
|
|
|
|
; We have a lot of Driver options, many of which are obsolete or very very
|
|
; rarely used so, to keep this file easier to manage:
|
|
|
|
; Please place all Non-driver options first (in alphabetical order), followed
|
|
; by Driver-only options.
|
|
|
|
; Non-driver options.
|
|
|
|
dependency-file
|
|
C ObjC C++ ObjC++ Separate Alias(MF) MissingArgError(missing filename after %qs)
|
|
|
|
fapple-kext
|
|
Target C++ Var(flag_apple_kext)
|
|
Generate code for darwin loadable kernel extensions.
|
|
|
|
iframework
|
|
Target RejectNegative C ObjC C++ ObjC++ Joined Separate
|
|
-iframework <dir> Add <dir> to the end of the system framework include path.
|
|
|
|
mconstant-cfstrings
|
|
Target Var(darwin_constant_cfstrings) Init(1)
|
|
Generate compile-time CFString objects.
|
|
|
|
Wnonportable-cfstrings
|
|
Target Var(darwin_warn_nonportable_cfstrings) Init(1) Warning
|
|
Warn if constant CFString objects contain non-portable characters.
|
|
|
|
; Use new-style pic stubs if this is true, x86 only so far.
|
|
matt-stubs
|
|
Target Var(darwin_macho_att_stub) Init(1)
|
|
Generate AT&T-style stubs for Mach-O.
|
|
|
|
mdynamic-no-pic
|
|
Target Common Mask(MACHO_DYNAMIC_NO_PIC)
|
|
Generate code suitable for executables (NOT shared libs).
|
|
|
|
mfix-and-continue
|
|
Target Var(darwin_fix_and_continue)
|
|
Generate code suitable for fast turn around debugging.
|
|
|
|
mkernel
|
|
Target Var(flag_mkernel)
|
|
Generate code for the kernel or loadable kernel extensions.
|
|
|
|
; The Init here is for the convenience of GCC developers, so that cc1
|
|
; and cc1plus don't crash if no -mmacosx-version-min is passed. The
|
|
; driver will always pass a -mmacosx-version-min, so in normal use the
|
|
; Init is never used.
|
|
mmacosx-version-min=
|
|
Target RejectNegative Joined Var(darwin_macosx_version_min) Init(DEF_MIN_OSX_VERSION)
|
|
The earliest macOS version on which this program will run.
|
|
|
|
; Really, only relevant to PowerPC which has a 4 byte bool by default.
|
|
mone-byte-bool
|
|
Target RejectNegative Var(darwin_one_byte_bool)
|
|
Set sizeof(bool) to 1.
|
|
|
|
msymbol-stubs
|
|
Target Var(darwin_symbol_stubs) Init(0)
|
|
Force generation of external symbol indirection stubs.
|
|
|
|
; Some code-gen may be improved / adjusted if the linker is sufficiently modern.
|
|
mtarget-linker=
|
|
Target RejectNegative Joined Alias(mtarget-linker)
|
|
|
|
mtarget-linker
|
|
Target RejectNegative Joined Separate Var(darwin_target_linker) Init(LD64_VERSION)
|
|
-mtarget-linker <version> Specify that ld64 <version> is the toolchain linker for the current invocation.
|
|
|
|
; Driver options.
|
|
|
|
all_load
|
|
Driver RejectNegative
|
|
Load all members of archive libraries, rather than only those that satisfy undefined symbols.
|
|
|
|
allowable_client
|
|
Driver RejectNegative Separate
|
|
-allowable_client <name> The output dylib is private to the client <name>.
|
|
|
|
arch
|
|
Driver RejectNegative Separate
|
|
-arch <name> Generate output for architecture <name>.
|
|
|
|
arch_errors_fatal
|
|
Driver RejectNegative
|
|
Mismatches between file architecture and one specified by \"-arch\" are errors instead of warnings.
|
|
|
|
asm_macosx_version_min=
|
|
Driver RejectNegative Joined
|
|
The earliest macOS version on which this program will run (formatted for the assembler).
|
|
|
|
bind_at_load
|
|
Driver RejectNegative
|
|
Generate an output executable that binds symbols on load, rather than lazily.
|
|
|
|
bundle
|
|
Driver RejectNegative
|
|
Generate a Mach-O bundle (file type MH_BUNDLE).
|
|
|
|
bundle_loader
|
|
Driver RejectNegative Separate
|
|
-bundle_loader <executable> Treat <executable> (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution.
|
|
|
|
client_name
|
|
Driver RejectNegative Separate
|
|
-client_name <name> Enable the executable being built to link against a private dylib (using allowable_client).
|
|
|
|
compatibility_version
|
|
Driver RejectNegative Separate
|
|
-compatibility_version <number> Set the version for the client interface. Client programs must record a value less than or equal to <number>, or the binding will fail at runtime.
|
|
|
|
current_version
|
|
Driver RejectNegative Separate
|
|
-current_version <number> Set the current version for the library to <number>.
|
|
|
|
dead_strip
|
|
Driver RejectNegative
|
|
Remove code and data that is unreachable from any exported symbol (including the entry point).
|
|
|
|
dylib_file
|
|
Driver RejectNegative Separate
|
|
-dylib_file install_name:file_name This allows linking of a dylib with \"install_name\" but to be found in a different install position \"file_name\"
|
|
|
|
dylinker
|
|
Driver RejectNegative
|
|
Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld.
|
|
|
|
dylinker_install_name
|
|
Driver RejectNegative Separate
|
|
-dylinker_install_name <path> Only used for building dyld.
|
|
|
|
dynamic
|
|
Driver RejectNegative
|
|
The default (and opposite of -static), implied by user mode executables, shared libraries and bundles.
|
|
|
|
dynamiclib
|
|
Driver RejectNegative
|
|
Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared\".
|
|
|
|
exported_symbols_list
|
|
Driver RejectNegative Separate
|
|
-exported_symbols_list <filename> Export global symbols in <filename> in linked output file; any symbols not mentioned will be treated as \"hidden\".
|
|
|
|
filelist
|
|
Driver RejectNegative Separate
|
|
Supply a list of objects to be linked from a file, rather than the command line.
|
|
|
|
findirect-virtual-calls
|
|
Driver RejectNegative
|
|
Used for generating code for some older kernel revisions.
|
|
|
|
flat_namespace
|
|
Driver RejectNegative
|
|
Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol.
|
|
|
|
force_cpusubtype_ALL
|
|
Driver RejectNegative
|
|
For the assembler (and linker) permit any architecture sub-variant to be used without error.
|
|
|
|
force_flat_namespace
|
|
Driver RejectNegative
|
|
Set the output object such that, on loading, dyld will ignore any two-level namespace information and resolve symbols in the discovery order for loaded libs.
|
|
|
|
framework
|
|
Driver RejectNegative Separate
|
|
-framework <name> The linker should search for the framework <name> in the framework search path.
|
|
|
|
fterminated-vtables
|
|
Driver RejectNegative
|
|
Used for generating code for some older kernel revisions.
|
|
|
|
gfull
|
|
Driver RejectNegative
|
|
Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\".
|
|
|
|
gused
|
|
Driver RejectNegative
|
|
Abbreviation for \"-g -feliminate-unused-debug-symbols\".
|
|
|
|
headerpad_max_install_names
|
|
Driver RejectNegative
|
|
Automatically adds space for longer path names in load commands (up to MAXPATHLEN).
|
|
|
|
image_base
|
|
Driver RejectNegative Separate
|
|
-image_base <address> Specify <address> as the base address for a dylib or bundle.
|
|
|
|
init
|
|
Driver RejectNegative Separate
|
|
-init <symbol_name> The symbol <symbol_name> will be used as the first initialiser for a dylib.
|
|
|
|
install_name
|
|
Driver RejectNegative Separate
|
|
-install_name <name> Set the install name for a dylib.
|
|
|
|
keep_private_externs
|
|
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
|
|
(Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4.
|
|
|
|
multiply_defined
|
|
Driver RejectNegative Separate
|
|
(Obsolete after 10.4) -multiply_defined <treatment> Provided a mechanism for warning about symbols defined in multiple dylibs.
|
|
|
|
multiply_defined_unused
|
|
Driver RejectNegative Separate
|
|
(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
|
|
(Obsolete) Current linkers never dead-strip these items, so the option is not needed.
|
|
|
|
nodefaultexport
|
|
Driver RejectNegative
|
|
Do not add a default symbol exports to modules or dynamic libraries.
|
|
|
|
nofixprebinding
|
|
Driver RejectNegative
|
|
(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable.
|
|
|
|
nomultidefs
|
|
Driver RejectNegative
|
|
(Obsolete after 10.4) Set MH_NOMULTIDEFS in an umbrella framework.
|
|
|
|
noprebind
|
|
Driver RejectNegative Negative(prebind)
|
|
(Obsolete) LD_PREBIND is no longer supported.
|
|
|
|
noseglinkedit
|
|
Driver RejectNegative Negative(seglinkedit)
|
|
(Obsolete) This is the default.
|
|
|
|
object
|
|
Driver RejectNegative
|
|
|
|
pagezero_size
|
|
Driver RejectNegative Separate
|
|
-pagezero_size <size> Allows setting the page 0 size to 4kb when required.
|
|
|
|
prebind
|
|
Driver RejectNegative Negative(noprebind)
|
|
(Obsolete) LD_PREBIND is no longer supported.
|
|
|
|
prebind_all_twolevel_modules
|
|
Driver RejectNegative
|
|
(Obsolete) LD_PREBIND is no longer supported.
|
|
|
|
preload
|
|
Driver RejectNegative
|
|
Produces a Mach-O file suitable for embedded/ROM use.
|
|
|
|
private_bundle
|
|
Driver RejectNegative
|
|
(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable.
|
|
|
|
pthread
|
|
Driver RejectNegative
|
|
|
|
rdynamic
|
|
Driver RejectNegative
|
|
Synonym for \"-export-dynamic\" for linker versions that support it.
|
|
|
|
read_only_relocs
|
|
Driver RejectNegative Separate
|
|
-read_only_relocs <treatment> Allow relocations in read-only pages (not recommended).
|
|
|
|
sectalign
|
|
Driver RejectNegative Separate Args(3)
|
|
-sectalign <segname> <sectname> <value> Set section <sectname> in segment <segname> to have alignment <value> which must be an integral power of two expressed in hexadecimal form.
|
|
|
|
sectcreate
|
|
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)
|
|
(Obsolete) -sectobjectsymbols <segname> <sectname> Setting a local symbol at the start of a section is no longer supported.
|
|
|
|
sectorder
|
|
Driver RejectNegative Separate Args(3)
|
|
(Obsolete) -sectorder <segname> <sectname> <orderfile> Replaced by a more general option \"-order_file\".
|
|
|
|
seg_addr_table
|
|
Driver RejectNegative Separate
|
|
-seg_addr_table <file> Specify the base addresses for dynamic libraries; <file> contains a line for each library.
|
|
|
|
; This is only usable by the ld_classic linker.
|
|
seg_addr_table_filename
|
|
Driver RejectNegative Separate
|
|
(Obsolete, ld_classic only) -seg_addr_table_filename <path>.
|
|
|
|
seg1addr
|
|
Driver RejectNegative Separate
|
|
Synonym for \"image_base\".
|
|
|
|
segaddr
|
|
Driver RejectNegative Separate Args(2)
|
|
-segaddr <name> <address> Set the base address of segment <name> to <address> which must be aligned to a page boundary (currently 4kb).
|
|
|
|
; This is only usable by the ld_classic linker.
|
|
segcreate
|
|
Driver RejectNegative Separate Args(3)
|
|
(Obsolete, ld_classic only) -sectcreate <segname> <sectname> <file> Allowed creation of a section from a file.
|
|
|
|
seglinkedit
|
|
Driver RejectNegative Negative(noseglinkedit)
|
|
(Obsolete) Object files with LINKEDIT sections are no longer supported.
|
|
|
|
segprot
|
|
Driver RejectNegative Separate Args(3)
|
|
-segprot <segname> <max_prot> <init_prot> The virtual memory protections for segment <segname> have maximum and initial values <max_prot> and <init_prot> respectively. The specified values may contain \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\".
|
|
|
|
segs_read_only_addr
|
|
Driver RejectNegative Separate
|
|
-segs_read_only_addr <address> Specify that <address> is the base address of the read-only segments of a dylib.
|
|
|
|
segs_read_write_addr
|
|
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
|
|
(Obsolete) This is the default.
|
|
|
|
sub_library
|
|
Driver RejectNegative Separate
|
|
-sub_library <name> Library named <name> will be re-exported (only useful for dylibs).
|
|
|
|
sub_umbrella
|
|
Driver RejectNegative Separate
|
|
-sub_umbrella <name> Framework named <name> will be re-exported (only useful for dylibs).
|
|
|
|
twolevel_namespace
|
|
Driver RejectNegative
|
|
This is the default.
|
|
|
|
twolevel_namespace_hints
|
|
Driver RejectNegative
|
|
Add extra information to the executable that can speed up dynamic loading (provided that dependent libraries are unchanged).
|
|
|
|
umbrella
|
|
Driver RejectNegative
|
|
-umbrella <framework> The specified framework will be re-exported.
|
|
|
|
undefined
|
|
Driver RejectNegative Separate
|
|
-undefined <treatment> Specify the handling for undefined symbols (default is error).
|
|
|
|
unexported_symbols_list
|
|
Driver RejectNegative Separate
|
|
-unexported_symbols_list <filename> Do not export the global symbols listed in <filename>.
|
|
|
|
weak_reference_mismatches
|
|
Driver RejectNegative Separate
|
|
-weak_reference_mismatches <treatment> Specifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak.
|
|
|
|
whatsloaded
|
|
Driver RejectNegative
|
|
Logs which object files the linker loads.
|
|
|
|
whyload
|
|
Driver RejectNegative
|
|
Logs which symbol(s) caused an object to be loaded.
|
|
|
|
;(Obsolete, ignored) Strip symbols starting with "L", this is the default.
|
|
X
|
|
Driver RejectNegative
|
|
|
|
y
|
|
Driver RejectNegative Joined
|
|
(Obsolete, ignored) Old support similar to \"-whyload\".
|
|
|
|
Mach
|
|
Driver RejectNegative
|
|
(Obsolete and unhandled by ld64, ignored) ld should produce an executable (only handled by ld_classic).
|