view gcc/config/darwin.opt @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
line wrap: on
line source

; Processor-independent options for Darwin.

; Copyright (C) 2005-2020 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 Report 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 Report Var(darwin_constant_cfstrings) Init(1)
Generate compile-time CFString objects.

Wnonportable-cfstrings
Target Report 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 Report Var(darwin_macho_att_stub) Init(1)
Generate AT&T-style stubs for Mach-O.

mdynamic-no-pic
Target Common Report Mask(MACHO_DYNAMIC_NO_PIC)
Generate code suitable for executables (NOT shared libs).

mfix-and-continue
Target Report Var(darwin_fix_and_continue)
Generate code suitable for fast turn around debugging.

mkernel
Target Report 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 Report Var(darwin_macosx_version_min) Init(DEF_MIN_OSX_VERSION)
The earliest MacOS X 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 Report Var(darwin_one_byte_bool)
Set sizeof(bool) to 1.

msymbol-stubs
Target Report 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 Report Alias(mtarget-linker)

mtarget-linker
Target RejectNegative Joined Separate Report Var(darwin_target_linker) Init(LD64_VERSION)
The version of ld64 in use for this toolchain.

; Driver options.

all_load
Driver RejectNegative Alias(Zall_load)
Loads all members of archive libraries

allowable_client
Driver RejectNegative Separate Alias(Zallowable_client)
-allowable_client <name>	The output dylib is private to the client(s) named

arch
Driver RejectNegative Separate
-arch <name>	Specify that the output file should be generated for architecture  \"name\"

arch_errors_fatal
Driver RejectNegative Alias(Zarch_errors_fatal)
Mismatches between file architecture and the \"-arch\" are errors instead of warnings

asm_macosx_version_min=
Driver RejectNegative Joined
The earliest MacOS X version on which this program will run (formatted for the assembler)

bind_at_load
Driver RejectNegative Alias(Zbind_at_load)
Produce an output file that will bind symbols on load, rather than lazily.

bundle
Driver RejectNegative Alias(Zbundle)
Produce a Mach-O bundle (file type MH_BUNDLE)

bundle_loader
Driver RejectNegative Separate Alias(Zbundle_loader)
-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 minimum version for the client interface.  Clients must record a greater number than this or the binding will fail at runtime

current_version
Driver RejectNegative Separate
-current_version <number>	Set the current version for the library.

dead_strip
Driver RejectNegative Alias(Zdead_strip)
Remove code and data that is unreachable from any exported symbol (including the entry point)

dylib_file
Driver Separate Alias(Zdylib_file)

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 Alias(Zdynamic)
The default (and opposite of -static), implied by user mode executables, shared libraries and bundles.

dynamiclib
Driver RejectNegative Alias(Zdynamiclib)
Produce a Mach-O shared library (file type MH_DYLIB), synonym for -shared

exported_symbols_list
Driver RejectNegative Separate Alias(Zexported_symbols_list)
-exported_symbols_list <filename>	Global symbols in \"filename\" will be exported from the 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 Alias(Zflat_namespace)
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 Alias(Zforce_cpusubtype_ALL)
For the assembler (and linker) permit any architecture sub-variant to be used without error.

force_flat_namespace
Driver RejectNegative Alias(Zforce_flat_namespace)
Set the output object such that, on loading, dyld  will ignore any two-level information and resolve symbols in the discovery order for loaded libs.

framework
Driver RejectNegative Separate
-framework <name>	The linker should search for the named framework 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 Alias(Zimage_base)
-image_base <address>	Choose a base address for a dylib or bundle.

init
Driver RejectNegative Separate Alias(Zinit)
-init <symbol_name>	The symbol \"symbol_name\" will be used as the first initialiser for a dylib.

install_name
Driver RejectNegative Separate Alias(Zinstall_name)
-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 Alias(Zmulti_module)
(Obsolete after 10.4) Multi modules are ignored at runtime since MacOS 10.4

multiply_defined
Driver RejectNegative Separate Alias(Zmultiply_defined)
(Obsolete after 10.4) -multiply_defined <treatment> Provided a mechanism for warning about symbols defined in multiple dylibs.

multiply_defined_unused
Driver RejectNegative Separate Alias(Zmultiplydefinedunused)
(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 Alias(Zno_dead_strip_inits_and_terms)
(Obsolete) The linker never dead strips these items, so the option is not needed.

nofixprebinding
Driver RejectNegative
(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an exectuable.

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 for certain special cases.

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>	This will allow relocs in read-only pages (not advisable).

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 Alias(Zseg_addr_table)
-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 Alias(Zfn_seg_addr_table_filename)
(Obsolete, ld_classic only) -seg_addr_table_filename <path>

seg1addr
Driver RejectNegative Separate
Synonym for \"image_base\"

segaddr
Driver RejectNegative Separate Args(2) Alias(Zsegaddr)
-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

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 protection values are \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\".

segs_read_only_addr
Driver RejectNegative Separate Alias(Zsegs_read_only_addr)
-segs_read_only_addr address 	Allows specifying the address of the read only portion of a dylib.

segs_read_write_addr
Driver RejectNegative Separate Alias(Zsegs_read_write_addr)
-segs_read_write_addr address 	Allows specifying the address of the read/write portion of a dylib.

single_module
Driver RejectNegative Alias(Zsingle_module)
(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
Specifies content that can speed up dynamic loading when the binaries are unchanged.

umbrella
Driver RejectNegative Separate Alias(Zumbrella)
-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 Alias(Zunexported_symbols_list)
-unexported_symbols_list <filename>	Don't export global symbols listed in filename.

weak_reference_mismatches
Driver RejectNegative Separate Alias(Zweak_reference_mismatches)
-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 the 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).

;; These are not "real" options, but placeholders used to hide the real options
;; from generic options processing... FIXME: they can be eliminated now.

Zall_load
Driver

Zallowable_client
Driver Separate

Zarch_errors_fatal
Driver

Zbind_at_load
Driver

Zbundle
Driver

Zbundle_loader
Driver Separate

Zdead_strip
Driver

Zdylib_file
Driver Separate

Zdynamic
Driver

Zdynamiclib
Driver

Zexported_symbols_list
Driver Separate

Zfn_seg_addr_table_filename
Driver Separate

Zflat_namespace
Driver

Zforce_cpusubtype_ALL
Driver

Zforce_flat_namespace
Driver

Zimage_base
Driver Separate

Zinit
Driver Separate

Zinstall_name
Driver Separate

Zmulti_module
Driver

Zmultiply_defined
Driver Separate

Zmultiplydefinedunused
Driver Separate

Zno_dead_strip_inits_and_terms
Driver

Zseg_addr_table
Driver Separate

Zsegaddr
Driver Separate Args(2)

Zsegs_read_only_addr
Driver Separate

Zsegs_read_write_addr
Driver Separate

Zsingle_module
Driver

Zumbrella
Driver Separate

Zunexported_symbols_list
Driver Separate

Zweak_reference_mismatches
Driver Separate