|  | /* Configuration file for an alpha OpenBSD target. | 
|  | Copyright (C) 1999-2023 Free Software Foundation, Inc. | 
|  |  | 
|  | This file is part of GCC. | 
|  |  | 
|  | GCC is free software; you can redistribute it and/or modify | 
|  | it under the terms of the GNU General Public License as published by | 
|  | the Free Software Foundation; either version 3, or (at your option) | 
|  | any later version. | 
|  |  | 
|  | GCC is distributed in the hope that it will be useful, | 
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | GNU General Public License for more details. | 
|  |  | 
|  | You should have received a copy of the GNU General Public License | 
|  | along with GCC; see the file COPYING3.  If not see | 
|  | <http://www.gnu.org/licenses/>.  */ | 
|  |  | 
|  | /* Controlling the compilation driver.  */ | 
|  |  | 
|  | #undef TARGET_DEFAULT | 
|  | #define TARGET_DEFAULT \ | 
|  | (MASK_FPREGS | MASK_IEEE | MASK_IEEE_CONFORMANT) | 
|  |  | 
|  | #define LINK_SPEC \ | 
|  | "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \ | 
|  | %{shared:-shared} %{R*} \ | 
|  | %{static:-Bstatic} \ | 
|  | %{!static:-Bdynamic} \ | 
|  | %{rdynamic:-export-dynamic} \ | 
|  | %{assert*} \ | 
|  | %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}" | 
|  |  | 
|  | /* As an elf system, we need crtbegin/crtend stuff.  */ | 
|  | #undef STARTFILE_SPEC | 
|  | #define STARTFILE_SPEC "\ | 
|  | %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} \ | 
|  | %{!p:%{!static:crt0%O%s} %{static:%{nopie:crt0%O%s} \ | 
|  | %{!nopie:rcrt0%O%s}}}} crtbegin%O%s} %{shared:crtbeginS%O%s}" | 
|  | #undef ENDFILE_SPEC | 
|  | #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}" | 
|  |  | 
|  | /* run-time target specifications */ | 
|  | #define TARGET_OS_CPP_BUILTINS()		\ | 
|  | do {					\ | 
|  | OPENBSD_OS_CPP_BUILTINS_ELF();		\ | 
|  | OPENBSD_OS_CPP_BUILTINS_LP64();		\ | 
|  | } while (0) | 
|  |  | 
|  | /* Layout of source language data types.  */ | 
|  |  | 
|  | /* This must agree with <machine/_types.h> */ | 
|  | #undef SIZE_TYPE | 
|  | #define SIZE_TYPE "long unsigned int" | 
|  |  | 
|  | #undef PTRDIFF_TYPE | 
|  | #define PTRDIFF_TYPE "long int" | 
|  |  | 
|  | #undef INTMAX_TYPE | 
|  | #define INTMAX_TYPE "long long int" | 
|  |  | 
|  | #undef UINTMAX_TYPE | 
|  | #define UINTMAX_TYPE "long long unsigned int" | 
|  |  | 
|  | #undef WCHAR_TYPE | 
|  | #define WCHAR_TYPE "int" | 
|  |  | 
|  | #undef WCHAR_TYPE_SIZE | 
|  | #define WCHAR_TYPE_SIZE 32 | 
|  |  | 
|  | #undef WINT_TYPE | 
|  | #define WINT_TYPE "int" | 
|  |  | 
|  |  | 
|  | #define LOCAL_LABEL_PREFIX	"." |