]>
Commit | Line | Data |
---|---|---|
14f73b5a JH |
1 | /* OS independent definitions for AMD x86-64. |
2 | Copyright (C) 2001 Free Software Foundation, Inc. | |
3 | Contributed by Bo Thorsen <bo@suse.de>. | |
4 | ||
5 | This file is part of GNU CC. | |
6 | ||
7 | GNU CC 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 2, or (at your option) | |
10 | any later version. | |
11 | ||
12 | GNU CC 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 GNU CC; see the file COPYING. If not, write to | |
19 | the Free Software Foundation, 59 Temple Place - Suite 330, | |
20 | Boston, MA 02111-1307, USA. */ | |
21 | ||
14f73b5a JH |
22 | #undef ASM_COMMENT_START |
23 | #define ASM_COMMENT_START "#" | |
24 | ||
14f73b5a JH |
25 | #undef DBX_REGISTER_NUMBER |
26 | #define DBX_REGISTER_NUMBER(n) \ | |
27 | (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n]) | |
28 | ||
29 | /* Output assembler code to FILE to call the profiler. */ | |
30 | #define NO_PROFILE_COUNTERS | |
31 | ||
a5fa1ecd JH |
32 | #undef MCOUNT_NAME |
33 | #define MCOUNT_NAME mcount | |
14f73b5a JH |
34 | |
35 | #undef SIZE_TYPE | |
36 | #define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int") | |
37 | ||
38 | #undef PTRDIFF_TYPE | |
39 | #define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int") | |
40 | ||
41 | #undef WCHAR_TYPE | |
42 | #define WCHAR_TYPE "int" | |
43 | ||
44 | #undef WCHAR_TYPE_SIZE | |
45 | #define WCHAR_TYPE_SIZE 32 | |
46 | ||
47 | #undef CC1_SPEC | |
48 | #define CC1_SPEC "%(cc1_cpu) %{profile:-p}" | |
49 | ||
50 | #undef ASM_SPEC | |
51 | #define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \ | |
52 | %{Wa,*:%*} %{m32:--32}" | |
53 | ||
54 | /* A C statement (sans semicolon) to output to the stdio stream | |
55 | FILE the assembler definition of uninitialized global DECL named | |
56 | NAME whose size is SIZE bytes and alignment is ALIGN bytes. | |
57 | Try to use asm_output_aligned_bss to implement this macro. */ | |
58 | ||
59 | #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ | |
60 | asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) | |
61 | ||
62 | /* A C statement to output to the stdio stream FILE an assembler | |
63 | command to advance the location counter to a multiple of 1<<LOG | |
64 | bytes if it is within MAX_SKIP bytes. | |
65 | ||
66 | This is used to align code labels according to Intel recommendations. */ | |
67 | ||
14f73b5a JH |
68 | #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ |
69 | do { \ | |
70 | if ((LOG) != 0) { \ | |
71 | if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ | |
72 | else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ | |
73 | } \ | |
74 | } while (0) | |
14f73b5a JH |
75 | |
76 | ||
77 | /* i386 System V Release 4 uses DWARF debugging info. | |
78 | x86-64 ABI specifies DWARF2. */ | |
79 | ||
14f73b5a | 80 | #undef DWARF_DEBUGGING_INFO |
23532de9 | 81 | #define DWARF2_DEBUGGING_INFO 1 |
14f73b5a JH |
82 | #define DWARF2_UNWIND_INFO 1 |
83 | /* Incorrectly autodetected in cross compilation. */ | |
84 | #undef HAVE_AS_DWARF2_DEBUG_LINE | |
85 | #define HAVE_AS_DWARF2_DEBUG_LINE | |
86 | ||
87 | #undef PREFERRED_DEBUGGING_TYPE | |
88 | #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG |