Mercurial > hg > CbC > CbC_gcc
annotate gcc/config/i386/darwin.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
rev | line source |
---|---|
0 | 1 /* Target definitions for x86 running Darwin. |
131 | 2 Copyright (C) 2001-2018 Free Software Foundation, Inc. |
0 | 3 Contributed by Apple Computer Inc. |
4 | |
5 This file is part of GCC. | |
6 | |
7 GCC is free software; you can redistribute it and/or modify | |
8 it under the terms of the GNU General Public License as published by | |
9 the Free Software Foundation; either version 3, or (at your option) | |
10 any later version. | |
11 | |
12 GCC is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License 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 /* Enable Mach-O bits in generic x86 code. */ | |
22 #undef TARGET_MACHO | |
23 #define TARGET_MACHO 1 | |
24 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
25 #undef DARWIN_X86 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
26 #define DARWIN_X86 1 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
27 |
0 | 28 #undef TARGET_64BIT |
111 | 29 #undef TARGET_64BIT_P |
30 #define TARGET_64BIT TARGET_ISA_64BIT | |
31 #define TARGET_64BIT_P(x) TARGET_ISA_64BIT_P(x) | |
0 | 32 |
33 #ifdef IN_LIBGCC2 | |
34 #undef TARGET_64BIT | |
35 #ifdef __x86_64__ | |
36 #define TARGET_64BIT 1 | |
37 #else | |
38 #define TARGET_64BIT 0 | |
39 #endif | |
40 #endif | |
41 | |
111 | 42 /* WORKAROUND pr80556: |
43 For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected | |
44 from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore | |
45 the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not | |
46 updated to include new images, and might not even be valid for a single | |
47 image. | |
48 Therefore, for 64b exes at least, we must use the libunwind implementation, | |
49 even when static-libgcc is specified. We put libSystem first so that | |
50 unwinder symbols are satisfied from there. */ | |
51 #undef REAL_LIBGCC_SPEC | |
52 #define REAL_LIBGCC_SPEC \ | |
53 "%{static-libgcc|static: \ | |
54 %{m64:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \ | |
55 -lgcc_eh -lgcc; \ | |
56 shared-libgcc|fexceptions|fgnu-runtime: \ | |
57 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ | |
58 %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ | |
59 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ | |
60 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ | |
61 -lgcc ; \ | |
62 :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ | |
63 %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ | |
64 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ | |
65 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ | |
66 -lgcc }" | |
67 | |
0 | 68 /* Size of the Obj-C jump buffer. */ |
69 #define OBJC_JBLEN ((TARGET_64BIT) ? ((9 * 2) + 3 + 16) : (18)) | |
70 | |
71 #undef TARGET_FPMATH_DEFAULT | |
72 #define TARGET_FPMATH_DEFAULT (TARGET_SSE ? FPMATH_SSE : FPMATH_387) | |
73 | |
74 #define TARGET_OS_CPP_BUILTINS() \ | |
75 do \ | |
76 { \ | |
77 builtin_define ("__LITTLE_ENDIAN__"); \ | |
78 darwin_cpp_builtins (pfile); \ | |
79 } \ | |
80 while (0) | |
81 | |
82 #undef PTRDIFF_TYPE | |
83 #define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int") | |
84 | |
85 #undef WCHAR_TYPE | |
86 #define WCHAR_TYPE "int" | |
87 | |
88 #undef WCHAR_TYPE_SIZE | |
89 #define WCHAR_TYPE_SIZE 32 | |
90 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
91 /* Generate branch islands stubs if this is true. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
92 extern int darwin_emit_branch_islands; |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
93 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
94 #undef TARGET_MACHO_BRANCH_ISLANDS |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
95 #define TARGET_MACHO_BRANCH_ISLANDS darwin_emit_branch_islands |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
96 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
97 /* For compatibility with OSX system tools, use the new style of pic stub |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
98 if this is set. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
99 #undef MACHOPIC_ATT_STUB |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
100 #define MACHOPIC_ATT_STUB (darwin_macho_att_stub) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
101 |
0 | 102 #undef MAX_BITS_PER_WORD |
103 #define MAX_BITS_PER_WORD 64 | |
104 | |
105 #undef FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN | |
106 #define FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN (0) | |
107 | |
108 #undef TARGET_KEEPS_VECTOR_ALIGNED_STACK | |
109 #define TARGET_KEEPS_VECTOR_ALIGNED_STACK 1 | |
110 | |
111 /* On Darwin, the stack is 128-bit aligned at the point of every call. | |
112 Failure to ensure this will lead to a crash in the system libraries | |
113 or dynamic loader. */ | |
114 #undef STACK_BOUNDARY | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
115 #define STACK_BOUNDARY \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
116 ((profile_flag || (TARGET_64BIT && ix86_abi == MS_ABI)) \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
117 ? 128 : BITS_PER_WORD) |
0 | 118 |
119 #undef MAIN_STACK_BOUNDARY | |
120 #define MAIN_STACK_BOUNDARY 128 | |
121 | |
122 /* Since we'll never want a stack boundary less aligned than 128 bits | |
123 we need the extra work here otherwise bits of gcc get very grumpy | |
124 when we ask for lower alignment. We could just reject values less | |
125 than 128 bits for Darwin, but it's easier to up the alignment if | |
126 it's below the minimum. */ | |
127 #undef PREFERRED_STACK_BOUNDARY | |
128 #define PREFERRED_STACK_BOUNDARY \ | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
129 MAX (128, ix86_preferred_stack_boundary) |
0 | 130 |
131 /* We want -fPIC by default, unless we're using -static to compile for | |
132 the kernel or some such. */ | |
133 | |
134 #undef CC1_SPEC | |
135 #define CC1_SPEC "%(cc1_cpu) \ | |
136 %{!mkernel:%{!static:%{!mdynamic-no-pic:-fPIC}}} \ | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
137 %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols }} " \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
138 DARWIN_CC1_SPEC |
0 | 139 |
140 #undef ASM_SPEC | |
111 | 141 #define ASM_SPEC "-arch %(darwin_arch) \ |
142 " ASM_OPTIONS " -force_cpusubtype_ALL \ | |
143 %{static}" ASM_MMACOSX_VERSION_MIN_SPEC | |
0 | 144 |
145 #define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}" | |
146 #define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC | |
147 | |
148 #undef ENDFILE_SPEC | |
149 #define ENDFILE_SPEC \ | |
111 | 150 "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ |
0 | 151 %{mpc32:crtprec32.o%s} \ |
152 %{mpc64:crtprec64.o%s} \ | |
111 | 153 %{mpc80:crtprec80.o%s}" TM_DESTRUCTOR |
0 | 154 |
155 #undef SUBTARGET_EXTRA_SPECS | |
156 #define SUBTARGET_EXTRA_SPECS \ | |
157 DARWIN_EXTRA_SPECS \ | |
158 { "darwin_arch", DARWIN_ARCH_SPEC }, \ | |
159 { "darwin_crt2", "" }, \ | |
160 { "darwin_subarch", DARWIN_SUBARCH_SPEC }, | |
161 | |
162 /* The Darwin assembler mostly follows AT&T syntax. */ | |
163 #undef ASSEMBLER_DIALECT | |
164 #define ASSEMBLER_DIALECT ASM_ATT | |
165 | |
166 /* Define macro used to output shift-double opcodes when the shift | |
167 count is in %cl. Some assemblers require %cl as an argument; | |
168 some don't. This macro controls what to do: by default, don't | |
169 print %cl. */ | |
170 | |
171 #define SHIFT_DOUBLE_OMITS_COUNT 0 | |
172 | |
173 #undef TARGET_ASM_FILE_END | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
174 #define TARGET_ASM_FILE_END darwin_file_end |
0 | 175 |
176 /* Define the syntax of pseudo-ops, labels and comments. */ | |
177 | |
178 /* String containing the assembler's comment-starter. */ | |
179 | |
180 #define ASM_COMMENT_START "#" | |
181 | |
182 /* By default, target has a 80387, uses IEEE compatible arithmetic, | |
183 and returns float values in the 387. */ | |
184 | |
185 #undef TARGET_SUBTARGET_DEFAULT | |
186 #define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_128BIT_LONG_DOUBLE) | |
187 | |
188 /* For darwin we want to target specific processor features as a minimum, | |
189 but these unfortunately don't correspond to a specific processor. */ | |
190 #undef TARGET_SUBTARGET32_ISA_DEFAULT | |
191 #define TARGET_SUBTARGET32_ISA_DEFAULT (OPTION_MASK_ISA_MMX \ | |
192 | OPTION_MASK_ISA_SSE \ | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
193 | OPTION_MASK_ISA_SSE2 \ |
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
194 | OPTION_MASK_ISA_SSE3) |
0 | 195 |
196 #undef TARGET_SUBTARGET64_ISA_DEFAULT | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
197 #define TARGET_SUBTARGET64_ISA_DEFAULT TARGET_SUBTARGET32_ISA_DEFAULT |
0 | 198 |
199 #undef GOT_SYMBOL_NAME | |
200 #define GOT_SYMBOL_NAME MACHOPIC_FUNCTION_BASE_NAME | |
201 | |
202 /* Define the syntax of pseudo-ops, labels and comments. */ | |
203 | |
204 #define LPREFIX "L" | |
205 | |
206 /* Assembler pseudos to introduce constants of various size. */ | |
207 | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
208 #define ASM_BYTE "\t.byte\t" |
0 | 209 #define ASM_SHORT "\t.word\t" |
210 #define ASM_LONG "\t.long\t" | |
211 #define ASM_QUAD "\t.quad\t" | |
212 | |
213 #define SUBTARGET_ENCODE_SECTION_INFO darwin_encode_section_info | |
214 | |
215 #undef ASM_OUTPUT_ALIGN | |
216 #define ASM_OUTPUT_ALIGN(FILE,LOG) \ | |
217 do { if ((LOG) != 0) \ | |
218 { \ | |
219 if (in_section == text_section) \ | |
220 fprintf (FILE, "\t%s %d,0x90\n", ALIGN_ASM_OP, (LOG)); \ | |
221 else \ | |
222 fprintf (FILE, "\t%s %d\n", ALIGN_ASM_OP, (LOG)); \ | |
223 } \ | |
224 } while (0) | |
225 | |
226 /* Darwin profiling -- call mcount. */ | |
227 #undef FUNCTION_PROFILER | |
228 #define FUNCTION_PROFILER(FILE, LABELNO) \ | |
229 do { \ | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
230 if (TARGET_MACHO_BRANCH_ISLANDS \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
231 && MACHOPIC_INDIRECT && !TARGET_64BIT) \ |
0 | 232 { \ |
233 const char *name = machopic_mcount_stub_name (); \ | |
234 fprintf (FILE, "\tcall %s\n", name+1); /* skip '&' */ \ | |
235 machopic_validate_stub_or_non_lazy_ptr (name); \ | |
236 } \ | |
237 else fprintf (FILE, "\tcall mcount\n"); \ | |
238 } while (0) | |
239 | |
240 #define C_COMMON_OVERRIDE_OPTIONS \ | |
241 do { \ | |
242 SUBTARGET_C_COMMON_OVERRIDE_OPTIONS; \ | |
243 } while (0) | |
244 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
245 #undef SUBTARGET_OVERRIDE_OPTIONS |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
246 #define SUBTARGET_OVERRIDE_OPTIONS \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
247 do { \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
248 if (TARGET_64BIT && MACHO_DYNAMIC_NO_PIC_P) \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
249 target_flags &= ~MASK_MACHO_DYNAMIC_NO_PIC; \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
250 } while (0) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
251 |
0 | 252 /* Darwin on x86_64 uses dwarf-2 by default. Pre-darwin9 32-bit |
253 compiles default to stabs+. darwin9+ defaults to dwarf-2. */ | |
254 #ifndef DARWIN_PREFER_DWARF | |
255 #undef PREFERRED_DEBUGGING_TYPE | |
111 | 256 #ifdef HAVE_AS_STABS_DIRECTIVE |
0 | 257 #define PREFERRED_DEBUGGING_TYPE (TARGET_64BIT ? DWARF2_DEBUG : DBX_DEBUG) |
111 | 258 #else |
259 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG | |
260 #endif | |
0 | 261 #endif |
262 | |
263 /* Darwin uses the standard DWARF register numbers but the default | |
264 register numbers for STABS. Fortunately for 64-bit code the | |
265 default and the standard are the same. */ | |
266 #undef DBX_REGISTER_NUMBER | |
267 #define DBX_REGISTER_NUMBER(n) \ | |
268 (TARGET_64BIT ? dbx64_register_map[n] \ | |
269 : write_symbols == DWARF2_DEBUG ? svr4_dbx_register_map[n] \ | |
270 : dbx_register_map[n]) | |
271 | |
272 /* Unfortunately, the 32-bit EH information also doesn't use the standard | |
273 DWARF register numbers. */ | |
274 #define DWARF2_FRAME_REG_OUT(n, for_eh) \ | |
275 (! (for_eh) || write_symbols != DWARF2_DEBUG || TARGET_64BIT ? (n) \ | |
276 : (n) == 5 ? 4 \ | |
277 : (n) == 4 ? 5 \ | |
278 : (n) >= 11 && (n) <= 18 ? (n) + 1 \ | |
279 : (n)) | |
280 | |
281 #undef REGISTER_SUBTARGET_PRAGMAS | |
282 #define REGISTER_SUBTARGET_PRAGMAS() DARWIN_REGISTER_TARGET_PRAGMAS() | |
283 | |
284 #undef TARGET_SET_DEFAULT_TYPE_ATTRIBUTES | |
285 #define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES darwin_set_default_type_attributes | |
286 | |
287 /* For 64-bit, we need to add 4 because @GOTPCREL is relative to the | |
288 end of the instruction, but without the 4 we'd only have the right | |
289 address for the start of the instruction. */ | |
290 #undef ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX | |
291 #define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \ | |
292 if (TARGET_64BIT) \ | |
293 { \ | |
294 if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_pcrel) \ | |
295 { \ | |
296 fputs (ASM_LONG, FILE); \ | |
297 assemble_name (FILE, XSTR (ADDR, 0)); \ | |
298 fputs ("+4@GOTPCREL", FILE); \ | |
299 goto DONE; \ | |
300 } \ | |
301 } \ | |
302 else \ | |
303 { \ | |
304 if (ENCODING == ASM_PREFERRED_EH_DATA_FORMAT (2, 1)) \ | |
305 { \ | |
306 darwin_non_lazy_pcrel (FILE, ADDR); \ | |
307 goto DONE; \ | |
308 } \ | |
309 } | |
310 | |
311 /* This needs to move since i386 uses the first flag and other flags are | |
312 used in Mach-O. */ | |
313 #undef MACHO_SYMBOL_FLAG_VARIABLE | |
314 #define MACHO_SYMBOL_FLAG_VARIABLE ((SYMBOL_FLAG_MACH_DEP) << 3) | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
315 |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
316 #undef MACHOPIC_NL_SYMBOL_PTR_SECTION |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
317 #define MACHOPIC_NL_SYMBOL_PTR_SECTION \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
318 ".section __IMPORT,__pointers,non_lazy_symbol_pointers" |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
319 |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
320 #define SUBTARGET32_DEFAULT_CPU "i686" |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
321 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
322 #undef SUBTARGET_INIT_BUILTINS |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
323 #define SUBTARGET_INIT_BUILTINS \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
324 do { \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
325 ix86_builtins[(int) IX86_BUILTIN_CFSTRING] \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
326 = darwin_init_cfstring_builtins ((unsigned) (IX86_BUILTIN_CFSTRING)); \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
327 darwin_rename_builtins (); \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
328 } while(0) |