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