1 /* Configuration file for an alpha OpenBSD target.
2 Copyright (C) 1999-2024 Free Software Foundation, Inc.
4 This file is part of GCC.
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)
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.
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/>. */
20 /* Controlling the compilation driver. */
23 #define TARGET_DEFAULT \
24 (MASK_FPREGS | MASK_IEEE | MASK_IEEE_CONFORMANT)
27 "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
28 %{shared:-shared} %{R*} \
30 %{!static:-Bdynamic} \
31 %{rdynamic:-export-dynamic} \
33 %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"
35 /* As an elf system, we need crtbegin/crtend stuff. */
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}"
42 #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
44 /* run-time target specifications */
45 #define TARGET_OS_CPP_BUILTINS() \
47 OPENBSD_OS_CPP_BUILTINS_ELF(); \
48 OPENBSD_OS_CPP_BUILTINS_LP64(); \
51 /* Layout of source language data types. */
53 /* This must agree with <machine/_types.h> */
55 #define SIZE_TYPE "long unsigned int"
58 #define PTRDIFF_TYPE "long int"
61 #define INTMAX_TYPE "long long int"
64 #define UINTMAX_TYPE "long long unsigned int"
67 #define WCHAR_TYPE "int"
69 #undef WCHAR_TYPE_SIZE
70 #define WCHAR_TYPE_SIZE 32
73 #define WINT_TYPE "int"
76 #define LOCAL_LABEL_PREFIX "."