]>
Commit | Line | Data |
---|---|---|
c714f03d RH |
1 | /* Definitions of target machine for GNU compiler, |
2 | for Alpha Linux-based GNU systems. | |
bc7ffd06 | 3 | Copyright (C) 1996, 1997, 1998, 2002, 2003, 2004, 2005 |
8efcd34f | 4 | Free Software Foundation, Inc. |
c714f03d | 5 | Contributed by Richard Henderson. |
ff352cea | 6 | |
7ec022b2 | 7 | This file is part of GCC. |
ff352cea | 8 | |
7ec022b2 | 9 | GCC is free software; you can redistribute it and/or modify |
ff352cea RK |
10 | it under the terms of the GNU General Public License as published by |
11 | the Free Software Foundation; either version 2, or (at your option) | |
12 | any later version. | |
13 | ||
7ec022b2 | 14 | GCC is distributed in the hope that it will be useful, |
ff352cea RK |
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | GNU General Public License for more details. | |
18 | ||
19 | You should have received a copy of the GNU General Public License | |
7ec022b2 | 20 | along with GCC; see the file COPYING. If not, write to |
39d14dda KC |
21 | the Free Software Foundation, 51 Franklin Street, Fifth Floor, |
22 | Boston, MA 02110-1301, USA. */ | |
ff352cea RK |
23 | |
24 | #undef TARGET_DEFAULT | |
8bea7f7c | 25 | #define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS) |
ff352cea | 26 | |
12a41c22 NB |
27 | #define TARGET_OS_CPP_BUILTINS() \ |
28 | do { \ | |
29 | builtin_define ("__gnu_linux__"); \ | |
30 | builtin_define ("_LONGLONG"); \ | |
31 | builtin_define_std ("linux"); \ | |
32 | builtin_define_std ("unix"); \ | |
33 | builtin_assert ("system=linux"); \ | |
26b0ad13 KG |
34 | builtin_assert ("system=unix"); \ |
35 | builtin_assert ("system=posix"); \ | |
e0322d5c | 36 | /* The GNU C++ standard library requires this. */ \ |
04df6730 | 37 | if (c_dialect_cxx ()) \ |
e0322d5c | 38 | builtin_define ("_GNU_SOURCE"); \ |
dc316086 PM |
39 | if (flag_pic) \ |
40 | { \ | |
41 | builtin_define ("__PIC__"); \ | |
42 | builtin_define ("__pic__"); \ | |
43 | } \ | |
12a41c22 | 44 | } while (0) |
ff352cea RK |
45 | |
46 | #undef LIB_SPEC | |
dbe0297b | 47 | #define LIB_SPEC \ |
17772b2a JJ |
48 | "%{pthread:-lpthread} \ |
49 | %{shared:-lc} \ | |
50 | %{!shared: %{profile:-lc_p}%{!profile:-lc}}" | |
ff352cea | 51 | |
ff352cea | 52 | /* Show that we need a GP when profiling. */ |
4f1c5cce | 53 | #undef TARGET_PROFILING_NEEDS_GP |
9c0e94a5 RH |
54 | #define TARGET_PROFILING_NEEDS_GP 1 |
55 | ||
56 | /* Don't care about faults in the prologue. */ | |
57 | #undef TARGET_CAN_FAULT_IN_PROLOGUE | |
58 | #define TARGET_CAN_FAULT_IN_PROLOGUE 1 | |
4ed442c9 | 59 | |
14291bc7 RH |
60 | /* OS fixes up EV5 data fault on prefetch. */ |
61 | #undef TARGET_FIXUP_EV5_PREFETCH | |
62 | #define TARGET_FIXUP_EV5_PREFETCH 1 | |
63 | ||
4ed442c9 BK |
64 | #undef WCHAR_TYPE |
65 | #define WCHAR_TYPE "int" | |
377b6fce RH |
66 | |
67 | /* Define this so that all GNU/Linux targets handle the same pragmas. */ | |
68 | #define HANDLE_PRAGMA_PACK_PUSH_POP | |
4573b4de | 69 | |
09b568fc RH |
70 | /* Determine whether the the entire c99 runtime is present in the |
71 | runtime library. */ | |
09b568fc | 72 | #define TARGET_C99_FUNCTIONS 1 |
09b568fc | 73 | |
90b8be73 JH |
74 | #define TARGET_HAS_F_SETLKW |
75 | ||
42df2193 JJ |
76 | #define LINK_GCC_C_SEQUENCE_SPEC \ |
77 | "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" | |
78 | ||
8efcd34f AM |
79 | /* Use --as-needed -lgcc_s for eh support. */ |
80 | #ifdef HAVE_LD_AS_NEEDED | |
81 | #define USE_LD_AS_NEEDED 1 | |
82 | #endif | |
83 | ||
8662eb14 | 84 | #define MD_UNWIND_SUPPORT "config/alpha/linux-unwind.h" |