]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/darwin.opt
rs6000: Load high and low part of 64bit constant independently
[thirdparty/gcc.git] / gcc / config / darwin.opt
1 ; Processor-independent options for Darwin.
2
3 ; Copyright (C) 2005-2023 Free Software Foundation, Inc.
4 ;
5 ; This file is part of GCC.
6 ;
7 ; GCC is free software; you can redistribute it and/or modify it under
8 ; the terms of the GNU General Public License as published by the Free
9 ; Software Foundation; either version 3, or (at your option) any later
10 ; version.
11 ;
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 ; for more details.
16 ;
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING3. If not see
19 ; <http://www.gnu.org/licenses/>.
20
21 ; We have a lot of Driver options, many of which are obsolete or very very
22 ; rarely used so, to keep this file easier to manage:
23
24 ; Please place all Non-driver options first (in alphabetical order), followed
25 ; by Driver-only options.
26
27 ; Non-driver options.
28
29 dependency-file
30 C ObjC C++ ObjC++ Separate Alias(MF) MissingArgError(missing filename after %qs)
31
32 fapple-kext
33 Target C++ Var(flag_apple_kext)
34 Generate code for darwin loadable kernel extensions.
35
36 iframework
37 Target RejectNegative C ObjC C++ ObjC++ Joined Separate
38 -iframework <dir> Add <dir> to the end of the system framework include path.
39
40 mconstant-cfstrings
41 Target Var(darwin_constant_cfstrings) Init(1)
42 Generate compile-time CFString objects.
43
44 Wnonportable-cfstrings
45 Target Var(darwin_warn_nonportable_cfstrings) Init(1) Warning
46 Warn if constant CFString objects contain non-portable characters.
47
48 ; Use new-style pic stubs if this is true, x86 only so far.
49 matt-stubs
50 Target Var(darwin_macho_att_stub) Init(1)
51 Generate AT&T-style stubs for Mach-O.
52
53 mdynamic-no-pic
54 Target Common Mask(MACHO_DYNAMIC_NO_PIC)
55 Generate code suitable for executables (NOT shared libs).
56
57 mfix-and-continue
58 Target Var(darwin_fix_and_continue)
59 Generate code suitable for fast turn around debugging.
60
61 mkernel
62 Target Var(flag_mkernel)
63 Generate code for the kernel or loadable kernel extensions.
64
65 ; The Init here is for the convenience of GCC developers, so that cc1
66 ; and cc1plus don't crash if no -mmacosx-version-min is passed. The
67 ; driver will always pass a -mmacosx-version-min, so in normal use the
68 ; Init is never used.
69 mmacosx-version-min=
70 Target RejectNegative Joined Var(darwin_macosx_version_min) Init(DEF_MIN_OSX_VERSION)
71 The earliest macOS version on which this program will run.
72
73 ; Really, only relevant to PowerPC which has a 4 byte bool by default.
74 mone-byte-bool
75 Target RejectNegative Var(darwin_one_byte_bool)
76 Set sizeof(bool) to 1.
77
78 msymbol-stubs
79 Target Var(darwin_symbol_stubs) Init(0)
80 Force generation of external symbol indirection stubs.
81
82 ; Some code-gen may be improved / adjusted if the linker is sufficiently modern.
83 mtarget-linker=
84 Target RejectNegative Joined Alias(mtarget-linker)
85
86 mtarget-linker
87 Target RejectNegative Joined Separate Var(darwin_target_linker) Init(LD64_VERSION)
88 -mtarget-linker <version> Specify that ld64 <version> is the toolchain linker for the current invocation.
89
90 ; Driver options.
91
92 all_load
93 Driver RejectNegative
94 Load all members of archive libraries, rather than only those that satisfy undefined symbols.
95
96 allowable_client
97 Driver RejectNegative Separate
98 -allowable_client <name> The output dylib is private to the client <name>.
99
100 arch
101 Driver RejectNegative Separate
102 -arch <name> Generate output for architecture <name>.
103
104 arch_errors_fatal
105 Driver RejectNegative
106 Mismatches between file architecture and one specified by \"-arch\" are errors instead of warnings.
107
108 asm_macosx_version_min=
109 Driver RejectNegative Joined
110 The earliest macOS version on which this program will run (formatted for the assembler).
111
112 bind_at_load
113 Driver RejectNegative
114 Generate an output executable that binds symbols on load, rather than lazily.
115
116 bundle
117 Driver RejectNegative
118 Generate a Mach-O bundle (file type MH_BUNDLE).
119
120 bundle_loader
121 Driver RejectNegative Separate
122 -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.
123
124 client_name
125 Driver RejectNegative Separate
126 -client_name <name> Enable the executable being built to link against a private dylib (using allowable_client).
127
128 compatibility_version
129 Driver RejectNegative Separate
130 -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.
131
132 current_version
133 Driver RejectNegative Separate
134 -current_version <number> Set the current version for the library to <number>.
135
136 dead_strip
137 Driver RejectNegative
138 Remove code and data that is unreachable from any exported symbol (including the entry point).
139
140 dylib_file
141 Driver RejectNegative Separate
142 -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\"
143
144 dylinker
145 Driver RejectNegative
146 Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld.
147
148 dylinker_install_name
149 Driver RejectNegative Separate
150 -dylinker_install_name <path> Only used for building dyld.
151
152 dynamic
153 Driver RejectNegative
154 The default (and opposite of -static), implied by user mode executables, shared libraries and bundles.
155
156 dynamiclib
157 Driver RejectNegative
158 Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared\".
159
160 exported_symbols_list
161 Driver RejectNegative Separate
162 -exported_symbols_list <filename> Export global symbols in <filename> in linked output file; any symbols not mentioned will be treated as \"hidden\".
163
164 filelist
165 Driver RejectNegative Separate
166 Supply a list of objects to be linked from a file, rather than the command line.
167
168 findirect-virtual-calls
169 Driver RejectNegative
170 Used for generating code for some older kernel revisions.
171
172 flat_namespace
173 Driver RejectNegative
174 Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol.
175
176 force_cpusubtype_ALL
177 Driver RejectNegative
178 For the assembler (and linker) permit any architecture sub-variant to be used without error.
179
180 force_flat_namespace
181 Driver RejectNegative
182 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.
183
184 framework
185 Driver RejectNegative Separate
186 -framework <name> The linker should search for the framework <name> in the framework search path.
187
188 fterminated-vtables
189 Driver RejectNegative
190 Used for generating code for some older kernel revisions.
191
192 gfull
193 Driver RejectNegative
194 Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\".
195
196 gused
197 Driver RejectNegative
198 Abbreviation for \"-g -feliminate-unused-debug-symbols\".
199
200 headerpad_max_install_names
201 Driver RejectNegative
202 Automatically adds space for longer path names in load commands (up to MAXPATHLEN).
203
204 image_base
205 Driver RejectNegative Separate
206 -image_base <address> Specify <address> as the base address for a dylib or bundle.
207
208 init
209 Driver RejectNegative Separate
210 -init <symbol_name> The symbol <symbol_name> will be used as the first initialiser for a dylib.
211
212 install_name
213 Driver RejectNegative Separate
214 -install_name <name> Set the install name for a dylib.
215
216 keep_private_externs
217 Driver RejectNegative
218 Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported.
219
220 multi_module
221 Driver RejectNegative
222 (Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4.
223
224 multiply_defined
225 Driver RejectNegative Separate
226 (Obsolete after 10.4) -multiply_defined <treatment> Provided a mechanism for warning about symbols defined in multiple dylibs.
227
228 multiply_defined_unused
229 Driver RejectNegative Separate
230 (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.
231
232 no_dead_strip_inits_and_terms
233 Driver RejectNegative
234 (Obsolete) Current linkers never dead-strip these items, so the option is not needed.
235
236 nodefaultexport
237 Driver RejectNegative
238 Do not add a default symbol exports to modules or dynamic libraries.
239
240 nofixprebinding
241 Driver RejectNegative
242 (Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable.
243
244 nomultidefs
245 Driver RejectNegative
246 (Obsolete after 10.4) Set MH_NOMULTIDEFS in an umbrella framework.
247
248 noprebind
249 Driver RejectNegative Negative(prebind)
250 (Obsolete) LD_PREBIND is no longer supported.
251
252 noseglinkedit
253 Driver RejectNegative Negative(seglinkedit)
254 (Obsolete) This is the default.
255
256 object
257 Driver RejectNegative
258
259 pagezero_size
260 Driver RejectNegative Separate
261 -pagezero_size <size> Allows setting the page 0 size to 4kb when required.
262
263 prebind
264 Driver RejectNegative Negative(noprebind)
265 (Obsolete) LD_PREBIND is no longer supported.
266
267 prebind_all_twolevel_modules
268 Driver RejectNegative
269 (Obsolete) LD_PREBIND is no longer supported.
270
271 preload
272 Driver RejectNegative
273 Produces a Mach-O file suitable for embedded/ROM use.
274
275 private_bundle
276 Driver RejectNegative
277 (Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable.
278
279 pthread
280 Driver RejectNegative
281
282 rdynamic
283 Driver RejectNegative
284 Synonym for \"-export-dynamic\" for linker versions that support it.
285
286 read_only_relocs
287 Driver RejectNegative Separate
288 -read_only_relocs <treatment> Allow relocations in read-only pages (not recommended).
289
290 sectalign
291 Driver RejectNegative Separate Args(3)
292 -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.
293
294 sectcreate
295 Driver RejectNegative Separate Args(3)
296 -sectcreate <segname> <sectname> <file> Create section <sectname> in segment <segname> from the contents of <file>.
297
298 sectobjectsymbols
299 Driver RejectNegative Separate Args(2)
300 (Obsolete) -sectobjectsymbols <segname> <sectname> Setting a local symbol at the start of a section is no longer supported.
301
302 sectorder
303 Driver RejectNegative Separate Args(3)
304 (Obsolete) -sectorder <segname> <sectname> <orderfile> Replaced by a more general option \"-order_file\".
305
306 seg_addr_table
307 Driver RejectNegative Separate
308 -seg_addr_table <file> Specify the base addresses for dynamic libraries; <file> contains a line for each library.
309
310 ; This is only usable by the ld_classic linker.
311 seg_addr_table_filename
312 Driver RejectNegative Separate
313 (Obsolete, ld_classic only) -seg_addr_table_filename <path>.
314
315 seg1addr
316 Driver RejectNegative Separate
317 Synonym for \"image_base\".
318
319 segaddr
320 Driver RejectNegative Separate Args(2)
321 -segaddr <name> <address> Set the base address of segment <name> to <address> which must be aligned to a page boundary (currently 4kb).
322
323 ; This is only usable by the ld_classic linker.
324 segcreate
325 Driver RejectNegative Separate Args(3)
326 (Obsolete, ld_classic only) -sectcreate <segname> <sectname> <file> Allowed creation of a section from a file.
327
328 seglinkedit
329 Driver RejectNegative Negative(noseglinkedit)
330 (Obsolete) Object files with LINKEDIT sections are no longer supported.
331
332 segprot
333 Driver RejectNegative Separate Args(3)
334 -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\".
335
336 segs_read_only_addr
337 Driver RejectNegative Separate
338 -segs_read_only_addr <address> Specify that <address> is the base address of the read-only segments of a dylib.
339
340 segs_read_write_addr
341 Driver RejectNegative Separate
342 -segs_read_write_addr <address> Specify that <address> is the base address address of the read-write segments of a dylib.
343
344 single_module
345 Driver RejectNegative
346 (Obsolete) This is the default.
347
348 sub_library
349 Driver RejectNegative Separate
350 -sub_library <name> Library named <name> will be re-exported (only useful for dylibs).
351
352 sub_umbrella
353 Driver RejectNegative Separate
354 -sub_umbrella <name> Framework named <name> will be re-exported (only useful for dylibs).
355
356 twolevel_namespace
357 Driver RejectNegative
358 This is the default.
359
360 twolevel_namespace_hints
361 Driver RejectNegative
362 Add extra information to the executable that can speed up dynamic loading (provided that dependent libraries are unchanged).
363
364 umbrella
365 Driver RejectNegative
366 -umbrella <framework> The specified framework will be re-exported.
367
368 undefined
369 Driver RejectNegative Separate
370 -undefined <treatment> Specify the handling for undefined symbols (default is error).
371
372 unexported_symbols_list
373 Driver RejectNegative Separate
374 -unexported_symbols_list <filename> Do not export the global symbols listed in <filename>.
375
376 weak_reference_mismatches
377 Driver RejectNegative Separate
378 -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.
379
380 whatsloaded
381 Driver RejectNegative
382 Logs which object files the linker loads.
383
384 whyload
385 Driver RejectNegative
386 Logs which symbol(s) caused an object to be loaded.
387
388 ;(Obsolete, ignored) Strip symbols starting with "L", this is the default.
389 X
390 Driver RejectNegative
391
392 y
393 Driver RejectNegative Joined
394 (Obsolete, ignored) Old support similar to \"-whyload\".
395
396 Mach
397 Driver RejectNegative
398 (Obsolete and unhandled by ld64, ignored) ld should produce an executable (only handled by ld_classic).