]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/i386/x86-64.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / i386 / x86-64.h
CommitLineData
14f73b5a 1/* OS independent definitions for AMD x86-64.
7adcbafe 2 Copyright (C) 2001-2022 Free Software Foundation, Inc.
14f73b5a
JH
3 Contributed by Bo Thorsen <bo@suse.de>.
4
48ff03c7 5This file is part of GCC.
14f73b5a 6
48ff03c7 7GCC is free software; you can redistribute it and/or modify
14f73b5a 8it under the terms of the GNU General Public License as published by
2f83c7d6 9the Free Software Foundation; either version 3, or (at your option)
14f73b5a
JH
10any later version.
11
48ff03c7 12GCC is distributed in the hope that it will be useful,
14f73b5a
JH
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
748086b7
JJ
17Under Section 7 of GPL version 3, you are granted additional
18permissions described in the GCC Runtime Library Exception, version
193.1, as published by the Free Software Foundation.
20
21You should have received a copy of the GNU General Public License and
22a copy of the GCC Runtime Library Exception along with this program;
23see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
2f83c7d6 24<http://www.gnu.org/licenses/>. */
14f73b5a 25
14f73b5a
JH
26#undef ASM_COMMENT_START
27#define ASM_COMMENT_START "#"
28
14f73b5a
JH
29#undef DBX_REGISTER_NUMBER
30#define DBX_REGISTER_NUMBER(n) \
31 (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
32
33/* Output assembler code to FILE to call the profiler. */
ff4cb2e7 34#define NO_PROFILE_COUNTERS 1
14f73b5a 35
a5fa1ecd 36#undef MCOUNT_NAME
5dab517f 37#define MCOUNT_NAME "mcount"
14f73b5a
JH
38
39#undef SIZE_TYPE
3ee7be4c 40#define SIZE_TYPE (TARGET_LP64 ? "long unsigned int" : "unsigned int")
14f73b5a
JH
41
42#undef PTRDIFF_TYPE
3ee7be4c 43#define PTRDIFF_TYPE (TARGET_LP64 ? "long int" : "int")
14f73b5a
JH
44
45#undef WCHAR_TYPE
46#define WCHAR_TYPE "int"
47
48#undef WCHAR_TYPE_SIZE
49#define WCHAR_TYPE_SIZE 32
50
14f73b5a 51#undef ASM_SPEC
a2cb05ed 52#define ASM_SPEC "%{m16|m32:--32} %{m64:--64} %{mx32:--x32}"
14f73b5a 53
eb2b0cc0 54#undef ASM_OUTPUT_ALIGNED_BSS
14f73b5a 55#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
7dcbf659
JH
56 x86_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
57
901f29c8
RO
58#undef ASM_OUTPUT_ALIGNED_DECL_COMMON
59#define ASM_OUTPUT_ALIGNED_DECL_COMMON(FILE, DECL, NAME, SIZE, ALIGN) \
60 x86_elf_aligned_decl_common (FILE, DECL, NAME, SIZE, ALIGN);
14f73b5a 61
7aa22a8f
L
62#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL
63#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN) \
64 do \
65 { \
66 fprintf ((FILE), "%s", LOCAL_ASM_OP); \
67 assemble_name ((FILE), (NAME)); \
68 fprintf ((FILE), "\n"); \
69 ASM_OUTPUT_ALIGNED_DECL_COMMON (FILE, DECL, NAME, SIZE, ALIGN); \
70 } \
71 while (0)
72
dd047c67
DV
73#define SUBALIGN_LOG 3
74
14f73b5a
JH
75/* i386 System V Release 4 uses DWARF debugging info.
76 x86-64 ABI specifies DWARF2. */
77
23532de9 78#define DWARF2_DEBUGGING_INFO 1
14f73b5a 79#define DWARF2_UNWIND_INFO 1
14f73b5a
JH
80
81#undef PREFERRED_DEBUGGING_TYPE
82#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
7dcbf659
JH
83
84#undef TARGET_ASM_SELECT_SECTION
85#define TARGET_ASM_SELECT_SECTION x86_64_elf_select_section
86
87#undef TARGET_ASM_UNIQUE_SECTION
88#define TARGET_ASM_UNIQUE_SECTION x86_64_elf_unique_section
520a5868
JJ
89
90#undef TARGET_SECTION_TYPE_FLAGS
91#define TARGET_SECTION_TYPE_FLAGS x86_64_elf_section_type_flags