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