1 /* Configuration file for an alpha OpenBSD target. 2 Copyright (C) 1999, 2003 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 2, 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 COPYING. If not, write to 18 the Free Software Foundation, 51 Franklin Street, Fifth Floor, 19 Boston, MA 02110-1301, USA. */ 20 21 /* Controlling the compilation driver. */ 22 23 #undef TARGET_DEFAULT 24 #define TARGET_DEFAULT \ 25 (MASK_FPREGS | MASK_IEEE | MASK_IEEE_CONFORMANT | MASK_GAS) 26 27 /* alpha needs __start. */ 28 #undef LINK_SPEC 29 #define LINK_SPEC \ 30 "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \ 31 %{shared:-shared} %{R*} \ 32 %{static:-Bstatic} \ 33 %{!static:-Bdynamic} \ 34 %{rdynamic:-export-dynamic} \ 35 %{assert*} \ 36 %{!static:%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}}" 37 38 /* As an elf system, we need crtbegin/crtend stuff. */ 39 #undef STARTFILE_SPEC 40 #define STARTFILE_SPEC "\ 41 %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} \ 42 %{!p:%{!static:crt0%O%s} %{static:%{nopie:crt0%O%s} \ 43 %{!nopie:rcrt0%O%s}}}} crtbegin%O%s} %{shared:crtbeginS%O%s}" 44 #undef ENDFILE_SPEC 45 #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}" 46 47 /* run-time target specifications */ 48 #define TARGET_OS_CPP_BUILTINS() \ 49 do { \ 50 OPENBSD_OS_CPP_BUILTINS_ELF(); \ 51 OPENBSD_OS_CPP_BUILTINS_LP64(); \ 52 } while (0) 53 54 /* Layout of source language data types. */ 55 56 /* This must agree with <machine/_types.h> */ 57 #undef SIZE_TYPE 58 #define SIZE_TYPE "long unsigned int" 59 60 #undef PTRDIFF_TYPE 61 #define PTRDIFF_TYPE "long int" 62 63 #undef INTMAX_TYPE 64 #define INTMAX_TYPE "long long int" 65 66 #undef UINTMAX_TYPE 67 #define UINTMAX_TYPE "long long unsigned int" 68 69 #undef WCHAR_TYPE 70 #define WCHAR_TYPE "int" 71 72 #undef WCHAR_TYPE_SIZE 73 #define WCHAR_TYPE_SIZE 32 74 75 #undef WINT_TYPE 76 #define WINT_TYPE "int" 77 78 /* Output and generation of labels. */ 79 #define LOCAL_LABEL_PREFIX "." 80 81 /* .set on alpha is not used to output labels. */ 82 #undef SET_ASM_OP 83 84 /* don't want no friggin' stack checks. */ 85 #undef STACK_CHECK_BUILTIN 86 #define STACK_CHECK_BUILTIN 0 87 88 /* don't want bcopy() optimized into memmove() unless correctly aligned */ 89 #define SUBWORD_ACCESS_P (TARGET_BWX) 90