1 /* Configuration file for an alpha OpenBSD target.
2    Copyright (C) 1999-2021 Free Software Foundation, Inc.
3 
4 This file is part of GCC.
5 
6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3, or (at your option)
9 any later version.
10 
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3.  If not see
18 <http://www.gnu.org/licenses/>.  */
19 
20 /* Controlling the compilation driver.  */
21 
22 #undef TARGET_DEFAULT
23 #define TARGET_DEFAULT \
24 	(MASK_FPREGS | MASK_IEEE | MASK_IEEE_CONFORMANT)
25 
26  #define LINK_SPEC \
27   "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
28    %{shared:-shared} %{R*} \
29    %{static:-Bstatic} \
30    %{!static:-Bdynamic} \
31    %{rdynamic:-export-dynamic} \
32    %{assert*} \
33    %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"
34 
35 /* As an elf system, we need crtbegin/crtend stuff.  */
36 #undef STARTFILE_SPEC
37 #define STARTFILE_SPEC "\
38 	%{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} \
39 	%{!p:%{!static:crt0%O%s} %{static:%{nopie:crt0%O%s} \
40 	%{!nopie:rcrt0%O%s}}}} crtbegin%O%s} %{shared:crtbeginS%O%s}"
41 #undef ENDFILE_SPEC
42 #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
43 
44 /* run-time target specifications */
45 #define TARGET_OS_CPP_BUILTINS()		\
46     do {					\
47 	OPENBSD_OS_CPP_BUILTINS_ELF();		\
48 	OPENBSD_OS_CPP_BUILTINS_LP64();		\
49     } while (0)
50 
51 /* Layout of source language data types.  */
52 
53 /* This must agree with <machine/_types.h> */
54 #undef SIZE_TYPE
55 #define SIZE_TYPE "long unsigned int"
56 
57 #undef PTRDIFF_TYPE
58 #define PTRDIFF_TYPE "long int"
59 
60 #undef INTMAX_TYPE
61 #define INTMAX_TYPE "long long int"
62 
63 #undef UINTMAX_TYPE
64 #define UINTMAX_TYPE "long long unsigned int"
65 
66 #undef WCHAR_TYPE
67 #define WCHAR_TYPE "int"
68 
69 #undef WCHAR_TYPE_SIZE
70 #define WCHAR_TYPE_SIZE 32
71 
72 #undef WINT_TYPE
73 #define WINT_TYPE "int"
74 
75 
76 #define LOCAL_LABEL_PREFIX	"."
77