Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/i386/cygming.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Operating system specific defines to be used when targeting GCC for | 1 /* Operating system specific defines to be used when targeting GCC for |
2 hosting on Windows32, using a Unix style C library and tools. | 2 hosting on Windows32, using a Unix style C library and tools. |
3 Copyright (C) 1995-2017 Free Software Foundation, Inc. | 3 Copyright (C) 1995-2018 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify | 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 | 8 it under the terms of the GNU General Public License as published by |
17 You should have received a copy of the GNU General Public License | 17 You should have received a copy of the GNU General Public License |
18 along with GCC; see the file COPYING3. If not see | 18 along with GCC; see the file COPYING3. If not see |
19 <http://www.gnu.org/licenses/>. */ | 19 <http://www.gnu.org/licenses/>. */ |
20 | 20 |
21 #define DBX_DEBUGGING_INFO 1 | 21 #define DBX_DEBUGGING_INFO 1 |
22 #define SDB_DEBUGGING_INFO 1 | |
23 #if TARGET_64BIT_DEFAULT || defined (HAVE_GAS_PE_SECREL32_RELOC) | 22 #if TARGET_64BIT_DEFAULT || defined (HAVE_GAS_PE_SECREL32_RELOC) |
24 #define DWARF2_DEBUGGING_INFO 1 | 23 #define DWARF2_DEBUGGING_INFO 1 |
25 #endif | 24 #endif |
26 | 25 |
27 #undef PREFERRED_DEBUGGING_TYPE | 26 #undef PREFERRED_DEBUGGING_TYPE |
289 that says to advance the location counter | 288 that says to advance the location counter |
290 to a multiple of 2**LOG bytes. */ | 289 to a multiple of 2**LOG bytes. */ |
291 | 290 |
292 #undef ASM_OUTPUT_ALIGN | 291 #undef ASM_OUTPUT_ALIGN |
293 #define ASM_OUTPUT_ALIGN(FILE,LOG) \ | 292 #define ASM_OUTPUT_ALIGN(FILE,LOG) \ |
294 if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1<<(LOG)) | 293 if ((LOG) != 0) fprintf ((FILE), "\t.align %d\n", 1 << (LOG)) |
295 | 294 |
296 /* Windows uses explicit import from shared libraries. */ | 295 /* Windows uses explicit import from shared libraries. */ |
297 #define MULTIPLE_SYMBOL_SPACES 1 | 296 #define MULTIPLE_SYMBOL_SPACES 1 |
298 | 297 |
299 #define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section | 298 #define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section |
306 | 305 |
307 /* Select attributes for named sections. */ | 306 /* Select attributes for named sections. */ |
308 #define TARGET_SECTION_TYPE_FLAGS i386_pe_section_type_flags | 307 #define TARGET_SECTION_TYPE_FLAGS i386_pe_section_type_flags |
309 | 308 |
310 /* Write the extra assembler code needed to declare a function | 309 /* Write the extra assembler code needed to declare a function |
311 properly. If we are generating SDB debugging information, this | 310 properly. */ |
312 will happen automatically, so we only need to handle other cases. */ | |
313 #undef ASM_DECLARE_FUNCTION_NAME | 311 #undef ASM_DECLARE_FUNCTION_NAME |
314 #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ | 312 #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ |
315 i386_pe_start_function (FILE, NAME, DECL) | 313 i386_pe_start_function (FILE, NAME, DECL) |
316 | 314 |
315 /* Write the extra assembler code needed to declare the name of a | |
316 cold function partition properly. */ | |
317 | |
318 #undef ASM_DECLARE_COLD_FUNCTION_NAME | |
319 #define ASM_DECLARE_COLD_FUNCTION_NAME(FILE, NAME, DECL) \ | |
320 do \ | |
321 { \ | |
322 i386_pe_declare_function_type (FILE, NAME, 0); \ | |
323 i386_pe_seh_cold_init (FILE, NAME); \ | |
324 ASM_OUTPUT_LABEL (FILE, NAME); \ | |
325 } \ | |
326 while (0) | |
327 | |
317 #undef ASM_DECLARE_FUNCTION_SIZE | 328 #undef ASM_DECLARE_FUNCTION_SIZE |
318 #define ASM_DECLARE_FUNCTION_SIZE(FILE,NAME,DECL) \ | 329 #define ASM_DECLARE_FUNCTION_SIZE(FILE,NAME,DECL) \ |
319 i386_pe_end_function (FILE, NAME, DECL) | 330 i386_pe_end_function (FILE, NAME, DECL) |
331 | |
332 #undef ASM_DECLARE_COLD_FUNCTION_SIZE | |
333 #define ASM_DECLARE_COLD_FUNCTION_SIZE(FILE,NAME,DECL) \ | |
334 i386_pe_end_cold_function (FILE, NAME, DECL) | |
320 | 335 |
321 /* Add an external function to the list of functions to be declared at | 336 /* Add an external function to the list of functions to be declared at |
322 the end of the file. */ | 337 the end of the file. */ |
323 #define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ | 338 #define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ |
324 do \ | 339 do \ |
338 asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN)) | 353 asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN)) |
339 | 354 |
340 /* Output function declarations at the end of the file. */ | 355 /* Output function declarations at the end of the file. */ |
341 #undef TARGET_ASM_FILE_END | 356 #undef TARGET_ASM_FILE_END |
342 #define TARGET_ASM_FILE_END i386_pe_file_end | 357 #define TARGET_ASM_FILE_END i386_pe_file_end |
358 | |
359 /* Kludge because of missing PE-COFF support for early LTO debug. */ | |
360 #undef TARGET_ASM_LTO_START | |
361 #define TARGET_ASM_LTO_START i386_pe_asm_lto_start | |
362 #undef TARGET_ASM_LTO_END | |
363 #define TARGET_ASM_LTO_END i386_pe_asm_lto_end | |
343 | 364 |
344 #undef ASM_COMMENT_START | 365 #undef ASM_COMMENT_START |
345 #define ASM_COMMENT_START " #" | 366 #define ASM_COMMENT_START " #" |
346 | 367 |
347 #ifndef DWARF2_UNWIND_INFO | 368 #ifndef DWARF2_UNWIND_INFO |
354 #define DWARF2_UNWIND_INFO 1 | 375 #define DWARF2_UNWIND_INFO 1 |
355 #else | 376 #else |
356 #define DWARF2_UNWIND_INFO 0 | 377 #define DWARF2_UNWIND_INFO 0 |
357 #endif | 378 #endif |
358 #endif | 379 #endif |
359 | |
360 /* Don't assume anything about the header files. */ | |
361 #define NO_IMPLICIT_EXTERN_C | |
362 | 380 |
363 #undef PROFILE_HOOK | 381 #undef PROFILE_HOOK |
364 #define PROFILE_HOOK(LABEL) \ | 382 #define PROFILE_HOOK(LABEL) \ |
365 if (MAIN_NAME_P (DECL_NAME (current_function_decl))) \ | 383 if (MAIN_NAME_P (DECL_NAME (current_function_decl))) \ |
366 { \ | 384 { \ |
447 when constructing thunks. */ | 465 when constructing thunks. */ |
448 #undef TARGET_USE_LOCAL_THUNK_ALIAS_P | 466 #undef TARGET_USE_LOCAL_THUNK_ALIAS_P |
449 #define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) (!DECL_ONE_ONLY (DECL)) | 467 #define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) (!DECL_ONE_ONLY (DECL)) |
450 | 468 |
451 #define SUBTARGET_ATTRIBUTE_TABLE \ | 469 #define SUBTARGET_ATTRIBUTE_TABLE \ |
452 { "selectany", 0, 0, true, false, false, ix86_handle_selectany_attribute, \ | 470 { "selectany", 0, 0, true, false, false, false, \ |
453 false } | 471 ix86_handle_selectany_attribute, NULL } |
454 /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, | 472 /* { name, min_len, max_len, decl_req, type_req, fn_type_req, |
455 affects_type_identity } */ | 473 affects_type_identity, handler, exclude } */ |
456 | 474 |
457 /* mcount() does not need a counter variable. */ | 475 /* mcount() does not need a counter variable. */ |
458 #undef NO_PROFILE_COUNTERS | 476 #undef NO_PROFILE_COUNTERS |
459 #define NO_PROFILE_COUNTERS 1 | 477 #define NO_PROFILE_COUNTERS 1 |
460 | 478 |
468 #undef SUB_TARGET_RECORD_STUB | 486 #undef SUB_TARGET_RECORD_STUB |
469 #define SUB_TARGET_RECORD_STUB i386_pe_record_stub | 487 #define SUB_TARGET_RECORD_STUB i386_pe_record_stub |
470 | 488 |
471 /* Static stack checking is supported by means of probes. */ | 489 /* Static stack checking is supported by means of probes. */ |
472 #define STACK_CHECK_STATIC_BUILTIN 1 | 490 #define STACK_CHECK_STATIC_BUILTIN 1 |
491 | |
492 #ifndef HAVE_GAS_ALIGNED_COMM | |
493 # define HAVE_GAS_ALIGNED_COMM 0 | |
494 #endif |