]>
Commit | Line | Data |
---|---|---|
7e5b9908 SE |
1 | /* Definitions of target machine GNU compiler. IA-64 version. |
2 | Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. | |
3 | Contributed by Steve Ellcey <sje@cup.hp.com> and | |
4 | Reva Cuthbertson <reva@cup.hp.com> | |
5 | ||
6 | This file is part of GNU CC. | |
7 | ||
8 | GNU CC is free software; you can redistribute it and/or modify | |
9 | it under the terms of the GNU General Public License as published by | |
10 | the Free Software Foundation; either version 2, or (at your option) | |
11 | any later version. | |
12 | ||
13 | GNU CC is distributed in the hope that it will be useful, | |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | GNU General Public License for more details. | |
17 | ||
18 | You should have received a copy of the GNU General Public License | |
19 | along with GNU CC; see the file COPYING. If not, write to | |
20 | the Free Software Foundation, 59 Temple Place - Suite 330, | |
21 | Boston, MA 02111-1307, USA. */ | |
22 | ||
23 | #undef CPP_PREDEFINES | |
24 | #define CPP_PREDEFINES "\ | |
25 | -D__IA64__ -D__ia64 -D__ia64__ -D__hpux -D__hpux__ -Dhpux -Dunix \ | |
26 | -D__BIG_ENDIAN__ -D_LONGLONG -D__ELF__ \ | |
27 | -Asystem=hpux -Asystem=posix -Asystem=unix -Acpu=ia64 -Amachine=ia64 \ | |
28 | -D_UINT128_T" | |
29 | ||
30 | /* -D__fpreg=long double is needed to compensate for the lack of __fpreg | |
31 | which is a primitive type in HP C but does not exist in GNU C. Same | |
32 | for __float80 and __float128. These types appear in HP-UX header | |
33 | files and so must have some definition. */ | |
34 | ||
35 | #undef CPP_SPEC | |
36 | #define CPP_SPEC "\ | |
37 | %{mcpu=itanium:-D__itanium__} \ | |
38 | -D__LP64__ -D__LONG_MAX__=9223372036854775807L \ | |
39 | %{!ansi:%{!std=c*:%{!std=i*: -D_HPUX_SOURCE -D__STDC_EXT__}}} \ | |
40 | -D__fpreg=long\\ double \ | |
41 | -D__float80=long\\ double \ | |
42 | -D__float128=long\\ double" | |
43 | ||
44 | #undef ASM_SPEC | |
45 | #define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}" | |
46 | ||
47 | #undef ENDFILE_SPEC | |
48 | ||
49 | #undef STARTFILE_SPEC | |
50 | #ifdef CROSS_COMPILE | |
51 | #define STARTFILE_SPEC "%{!shared:crt0%O%s}" | |
52 | #else | |
53 | #define STARTFILE_SPEC "/usr/ccs/lib/hpux64/crt0%O" | |
54 | #endif | |
55 | ||
56 | #undef LINK_SPEC | |
57 | #define LINK_SPEC "\ | |
58 | +Accept TypeMismatch \ | |
59 | %{shared:-b} \ | |
60 | %{!shared: \ | |
61 | -u main \ | |
62 | %{!static: \ | |
63 | %{rdynamic:-export-dynamic}} \ | |
64 | %{static:-static}}" | |
65 | ||
66 | #undef LIB_SPEC | |
67 | #define LIB_SPEC "%{!shared:%{!symbolic:-lc}}" | |
68 | ||
69 | #define DONT_USE_BUILTIN_SETJMP | |
70 | #define JMP_BUF_SIZE (8 * 76) | |
71 | ||
72 | #undef CONST_SECTION_ASM_OP | |
73 | #define CONST_SECTION_ASM_OP "\t.section\t.rodata,\t\"a\",\t\"progbits\"" | |
74 | ||
75 | #undef BITS_BIG_ENDIAN | |
76 | #define BITS_BIG_ENDIAN 1 | |
77 | ||
78 | #undef TARGET_DEFAULT | |
79 | #define TARGET_DEFAULT (MASK_DWARF2_ASM | MASK_BIG_ENDIAN) |