/* Configuration file for sparc64 OpenBSD target. Copyright (C) 1999-2022 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 . */ /* XXX - do we really want HARD_QUAD? */ #undef TARGET_DEFAULT #define TARGET_DEFAULT \ (MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \ + MASK_APP_REGS + MASK_FPU + MASK_STACK_BIAS + MASK_LONG_DOUBLE_128) #undef SPARC_DEFAULT_CMODEL #define SPARC_DEFAULT_CMODEL CM_MEDMID /* Target OS builtins. */ #define TARGET_OS_CPP_BUILTINS() \ do \ { \ builtin_define ("__unix__"); \ builtin_define ("__OpenBSD__"); \ builtin_assert ("system=unix"); \ builtin_assert ("system=OpenBSD"); \ builtin_define ("__sparc64__"); \ builtin_define ("__sparcv9__"); \ builtin_define ("__sparc_v9__"); \ builtin_define ("__arch64__"); \ } \ while (0) #undef ASM_SPEC #define ASM_SPEC "\ -s %{" FPIE_OR_FPIC_SPEC ":-K PIC} \ %(asm_cpu) %(asm_arch) \ " /* Layout of source language data types. */ #undef WCHAR_TYPE #define WCHAR_TYPE "int" #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 #undef LONG_DOUBLE_TYPE_SIZE #define LONG_DOUBLE_TYPE_SIZE 128 #undef LINK_SPEC #define LINK_SPEC \ "%{!shared:%{!nostdlib:%{!r:%{!e*:-e __start}}}} \ %{shared:-shared} %{R*} \ %{static:-Bstatic} \ %{!static:-Bdynamic} \ %{assert*} \ -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:crt0%O%s}} \ crtbegin%O%s} %{shared:crtbeginS%O%s}" #undef ENDFILE_SPEC #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"