]>
Commit | Line | Data |
---|---|---|
ace54f91 | 1 | /* Definitions for DEC Alpha/AXP running FreeBSD using the ELF format |
818ab71a | 2 | Copyright (C) 2000-2016 Free Software Foundation, Inc. |
ace54f91 DB |
3 | Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi. |
4 | ||
7ec022b2 | 5 | This file is part of GCC. |
ace54f91 | 6 | |
7ec022b2 | 7 | GCC is free software; you can redistribute it and/or modify |
ace54f91 | 8 | it under the terms of the GNU General Public License as published by |
2f83c7d6 | 9 | the Free Software Foundation; either version 3, or (at your option) |
ace54f91 DB |
10 | any later version. |
11 | ||
7ec022b2 | 12 | GCC is distributed in the hope that it will be useful, |
ace54f91 DB |
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 | |
2f83c7d6 NC |
18 | along with GCC; see the file COPYING3. If not see |
19 | <http://www.gnu.org/licenses/>. */ | |
ace54f91 DB |
20 | |
21 | ||
f326fd7a RH |
22 | #undef EXTRA_SPECS |
23 | #define EXTRA_SPECS \ | |
2de2f846 DB |
24 | { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER } |
25 | ||
f326fd7a RH |
26 | /* Provide a CPP_SPEC appropriate for FreeBSD/alpha -- dealing with |
27 | the GCC option `-posix'. */ | |
e0322d5c | 28 | |
ace54f91 | 29 | #undef CPP_SPEC |
f326fd7a | 30 | #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}" |
ace54f91 | 31 | |
54e20385 | 32 | #define LINK_SPEC "%{G*} %{relax:-relax} \ |
d8a07487 | 33 | %{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \ |
ace54f91 DB |
34 | %{assert*} %{R*} %{rpath*} %{defsym*} \ |
35 | %{shared:-Bshareable %{h*} %{soname*}} \ | |
ace54f91 DB |
36 | %{!shared: \ |
37 | %{!static: \ | |
38 | %{rdynamic:-export-dynamic} \ | |
e59dabd2 | 39 | -dynamic-linker %(fbsd_dynamic_linker) } \ |
2de2f846 DB |
40 | %{static:-Bstatic}} \ |
41 | %{symbolic:-Bsymbolic}" | |
ace54f91 | 42 | |
ace54f91 DB |
43 | |
44 | /************************[ Target stuff ]***********************************/ | |
45 | ||
46 | /* Define the actual types of some ANSI-mandated types. | |
47 | Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c, | |
48 | c-common.c, and config/<arch>/<arch>.h. */ | |
49 | ||
50 | /* alpha.h gets this wrong for FreeBSD. We use the GCC defaults instead. */ | |
51 | #undef WCHAR_TYPE | |
52 | ||
ace54f91 | 53 | #undef WCHAR_TYPE_SIZE |
bf9b85ce | 54 | #define WCHAR_TYPE_SIZE 32 |
ace54f91 | 55 | |
bf9b85ce | 56 | #define TARGET_ELF 1 |
ace54f91 | 57 | |
ace54f91 DB |
58 | #undef HAS_INIT_SECTION |
59 | ||
ace54f91 DB |
60 | /* Show that we need a GP when profiling. */ |
61 | #undef TARGET_PROFILING_NEEDS_GP | |
62 | #define TARGET_PROFILING_NEEDS_GP 1 | |
63 | ||
d360fd18 DB |
64 | /* Don't default to pcc-struct-return, we want to retain compatibility with |
65 | older FreeBSD releases AND pcc-struct-return may not be reentrant. */ | |
66 | ||
67 | #undef DEFAULT_PCC_STRUCT_RETURN | |
68 | #define DEFAULT_PCC_STRUCT_RETURN 0 |