]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/alpha/linux.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / alpha / linux.h
CommitLineData
c714f03d
RH
1/* Definitions of target machine for GNU compiler,
2 for Alpha Linux-based GNU systems.
818ab71a 3 Copyright (C) 1996-2016 Free Software Foundation, Inc.
c714f03d 4 Contributed by Richard Henderson.
ff352cea 5
7ec022b2 6This file is part of GCC.
ff352cea 7
7ec022b2 8GCC is free software; you can redistribute it and/or modify
ff352cea 9it under the terms of the GNU General Public License as published by
2f83c7d6 10the Free Software Foundation; either version 3, or (at your option)
ff352cea
RK
11any later version.
12
7ec022b2 13GCC is distributed in the hope that it will be useful,
ff352cea
RK
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
2f83c7d6
NC
19along with GCC; see the file COPYING3. If not see
20<http://www.gnu.org/licenses/>. */
ff352cea 21
12a41c22
NB
22#define TARGET_OS_CPP_BUILTINS() \
23 do { \
24 builtin_define ("__gnu_linux__"); \
25 builtin_define ("_LONGLONG"); \
26 builtin_define_std ("linux"); \
27 builtin_define_std ("unix"); \
28 builtin_assert ("system=linux"); \
26b0ad13
KG
29 builtin_assert ("system=unix"); \
30 builtin_assert ("system=posix"); \
e0322d5c 31 /* The GNU C++ standard library requires this. */ \
04df6730 32 if (c_dialect_cxx ()) \
e0322d5c 33 builtin_define ("_GNU_SOURCE"); \
12a41c22 34 } while (0)
ff352cea
RK
35
36#undef LIB_SPEC
dbe0297b 37#define LIB_SPEC \
17772b2a
JJ
38 "%{pthread:-lpthread} \
39 %{shared:-lc} \
40 %{!shared: %{profile:-lc_p}%{!profile:-lc}}"
ff352cea 41
f326fd7a 42#undef CPP_SPEC
bdede2ac
MK
43#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
44
ff352cea 45/* Show that we need a GP when profiling. */
4f1c5cce 46#undef TARGET_PROFILING_NEEDS_GP
9c0e94a5
RH
47#define TARGET_PROFILING_NEEDS_GP 1
48
49/* Don't care about faults in the prologue. */
50#undef TARGET_CAN_FAULT_IN_PROLOGUE
51#define TARGET_CAN_FAULT_IN_PROLOGUE 1
4ed442c9 52
14291bc7
RH
53/* OS fixes up EV5 data fault on prefetch. */
54#undef TARGET_FIXUP_EV5_PREFETCH
55#define TARGET_FIXUP_EV5_PREFETCH 1
56
4ed442c9
BK
57#undef WCHAR_TYPE
58#define WCHAR_TYPE "int"
377b6fce 59
b5a54c03
JM
60#ifdef SINGLE_LIBC
61#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
996746aa
AI
62#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
63#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
07ad804b
SN
64#undef OPTION_MUSL
65#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL)
b5a54c03 66#else
47089d42 67#define OPTION_GLIBC (linux_libc == LIBC_GLIBC)
996746aa
AI
68#define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
69#define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
07ad804b
SN
70#undef OPTION_MUSL
71#define OPTION_MUSL (linux_libc == LIBC_MUSL)
b5a54c03 72#endif
47089d42 73
d33d9e47
AI
74/* Determine what functions are present at the runtime;
75 this includes full c99 runtime and sincos. */
76#undef TARGET_LIBC_HAS_FUNCTION
1e9da8f6 77#define TARGET_LIBC_HAS_FUNCTION linux_libc_has_function
006339cd 78
4969c0d8 79#define TARGET_POSIX_IO
90b8be73 80
42df2193
JJ
81#define LINK_GCC_C_SEQUENCE_SPEC \
82 "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
83
8efcd34f
AM
84/* Use --as-needed -lgcc_s for eh support. */
85#ifdef HAVE_LD_AS_NEEDED
86#define USE_LD_AS_NEEDED 1
87#endif
88
7269aee7
AH
89/* Define if long doubles should be mangled as 'g'. */
90#define TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
d94a427e
AL
91
92/* -mcpu=native handling only makes sense with compiler running on
93 an Alpha chip. */
94#if defined(__alpha__) || defined(__alpha)
95extern const char *host_detect_local_cpu (int argc, const char **argv);
96# define EXTRA_SPEC_FUNCTIONS \
97 { "local_cpu_detect", host_detect_local_cpu },
98
99# define MCPU_MTUNE_NATIVE_SPECS \
100 " %{mcpu=native:%<mcpu=native %:local_cpu_detect(cpu)}" \
101 " %{mtune=native:%<mtune=native %:local_cpu_detect(tune)}"
102#else
103# define MCPU_MTUNE_NATIVE_SPECS ""
104#endif
105
106#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS