openbsd64.h revision 169689
11849Swollman/* Configuration file for sparc64 OpenBSD target. 21849Swollman Copyright (C) 1999, 2005 Free Software Foundation, Inc. 31849Swollman 41849SwollmanThis file is part of GCC. 51849Swollman 61849SwollmanGCC is free software; you can redistribute it and/or modify 71849Swollmanit under the terms of the GNU General Public License as published by 81849Swollmanthe Free Software Foundation; either version 2, or (at your option) 91849Swollmanany later version. 101849Swollman 111849SwollmanGCC is distributed in the hope that it will be useful, 121849Swollmanbut WITHOUT ANY WARRANTY; without even the implied warranty of 131849SwollmanMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 141849SwollmanGNU General Public License for more details. 151849Swollman 161849SwollmanYou should have received a copy of the GNU General Public License 171849Swollmanalong with GCC; see the file COPYING. If not, write to 181849Swollmanthe Free Software Foundation, 51 Franklin Street, Fifth Floor, 191849SwollmanBoston, MA 02110-1301, USA. */ 201849Swollman 211849Swollman#undef TARGET_VERSION 221849Swollman#define TARGET_VERSION fprintf (stderr, " (sparc64 OpenBSD ELF)") 231849Swollman 241849Swollman/* XXX - do we really want HARD_QUAD? */ 251849Swollman#undef TARGET_DEFAULT 261849Swollman#define TARGET_DEFAULT \ 271849Swollman(MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \ 281849Swollman + MASK_APP_REGS + MASK_FPU + MASK_STACK_BIAS + MASK_LONG_DOUBLE_128) 291849Swollman 301849Swollman#undef SPARC_DEFAULT_CMODEL 3185437Speter#define SPARC_DEFAULT_CMODEL CM_MEDMID 3293000Sobrien 331849Swollman/* Target OS builtins. */ 341849Swollman#define TARGET_OS_CPP_BUILTINS() \ 351849Swollman do \ 361849Swollman { \ 371849Swollman builtin_define ("__unix__"); \ 381849Swollman builtin_define ("__OpenBSD__"); \ 391849Swollman builtin_assert ("system=unix"); \ 401849Swollman builtin_assert ("system=OpenBSD"); \ 411849Swollman builtin_define ("__sparc64__"); \ 421849Swollman builtin_define ("__sparcv9__"); \ 431849Swollman builtin_define ("__sparc_v9__"); \ 441849Swollman builtin_define ("__arch64__"); \ 4591999Sbillf } \ 461849Swollman while (0) 471849Swollman 481849Swollman#undef CPP_SUBTARGET_SPEC 491849Swollman#define CPP_SUBTARGET_SPEC "" 501849Swollman 511849Swollman#undef MD_EXEC_PREFIX 521849Swollman#undef MD_STARTFILE_PREFIX 531849Swollman 541849Swollman/* Inherited from sp64-elf. */ 551849Swollman#undef NO_IMPLICIT_EXTERN_C 561849Swollman 571849Swollman#undef ASM_SPEC 581849Swollman#define ASM_SPEC "\ 591849Swollman%{v:-V} -s %{fpic|fPIC|fpie|fPIE:-K PIC} \ 601849Swollman%{mlittle-endian:-EL} \ 611849Swollman%(asm_cpu) %(asm_arch) \ 621849Swollman" 631849Swollman 641849Swollman/* Layout of source language data types. */ 651849Swollman#undef WCHAR_TYPE 661849Swollman#define WCHAR_TYPE "int" 671849Swollman 681849Swollman#undef WCHAR_TYPE_SIZE 691849Swollman#define WCHAR_TYPE_SIZE 32 701849Swollman 711849Swollman#undef LONG_DOUBLE_TYPE_SIZE 721849Swollman#define LONG_DOUBLE_TYPE_SIZE 128 731849Swollman 741849Swollman#undef LINK_SPEC 751849Swollman#define LINK_SPEC \ 761849Swollman "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \ 771849Swollman %{shared:-shared} %{R*} \ 781849Swollman %{static:-Bstatic} \ 791849Swollman %{!static:-Bdynamic} \ 801849Swollman %{assert*} \ 811849Swollman %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}" 821849Swollman 831849Swollman/* As an elf system, we need crtbegin/crtend stuff. */ 841849Swollman#undef STARTFILE_SPEC 851849Swollman#define STARTFILE_SPEC "\ 861849Swollman %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} %{!p:crt0%O%s}} \ 871849Swollman crtbegin%O%s} %{shared:crtbeginS%O%s}" 881849Swollman#undef ENDFILE_SPEC 891849Swollman#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}" 90