]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/sparc/sp64-elf.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / sparc / sp64-elf.h
CommitLineData
de0a398e 1/* Definitions of target machine for GCC, for SPARC64, ELF.
99dee823 2 Copyright (C) 1994-2021 Free Software Foundation, Inc.
5181669e
DE
3 Contributed by Doug Evans, dje@cygnus.com.
4
de0a398e 5This file is part of GCC.
5181669e 6
de0a398e 7GCC is free software; you can redistribute it and/or modify
5181669e 8it under the terms of the GNU General Public License as published by
2f83c7d6 9the Free Software Foundation; either version 3, or (at your option)
5181669e
DE
10any later version.
11
de0a398e 12GCC is distributed in the hope that it will be useful,
5181669e
DE
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
2f83c7d6
NC
18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
5181669e 20
82d6b402 21/* A 64 bit v9 compiler in a Medium/Anywhere code model environment. */
5181669e
DE
22#undef TARGET_DEFAULT
23#define TARGET_DEFAULT \
a0a301fc 24(MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \
33074e5f 25 + MASK_APP_REGS + MASK_FPU + MASK_STACK_BIAS + MASK_LONG_DOUBLE_128)
5181669e 26
a0a301fc
DE
27#undef SPARC_DEFAULT_CMODEL
28#define SPARC_DEFAULT_CMODEL CM_EMBMEDANY
29
ae8b85c2
DE
30#undef ASM_SPEC
31#define ASM_SPEC "\
428b3812 32-s %{" FPIE_OR_FPIC_SPEC ":-K PIC} \
a0a301fc 33%(asm_cpu) %(asm_arch) \
ae8b85c2 34"
5181669e
DE
35
36/* This is taken from sol2.h. */
37#undef LINK_SPEC
38#define LINK_SPEC "\
96a097c9 39%{v:-V} \
5181669e
DE
40"
41
ae8b85c2 42#undef STARTFILE_SPEC
8ac79835 43#define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s"
ae8b85c2
DE
44
45#undef ENDFILE_SPEC
a261e0cc 46#define ENDFILE_SPEC \
0691dde9 47 "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
8ac79835 48 crtend.o%s crtn.o%s"
ae8b85c2
DE
49
50/* Use the default (for now). */
51#undef LIB_SPEC
81b47219
EB
52\f
53#undef LOCAL_LABEL_PREFIX
54#define LOCAL_LABEL_PREFIX "."
55
56/* This is how to store into the string LABEL
57 the symbol_ref name of an internal numbered label where
58 PREFIX is the class of label and NUM is the number within the class.
59 This is suitable for output with `assemble_name'. */
60
61#undef ASM_GENERATE_INTERNAL_LABEL
62#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
63 sprintf ((LABEL), "*.L%s%ld", (PREFIX), (long)(NUM))
64\f
5181669e
DE
65/* ??? This should be 32 bits for v9 but what can we do? */
66#undef WCHAR_TYPE
67#define WCHAR_TYPE "short unsigned int"
68
69#undef WCHAR_TYPE_SIZE
70#define WCHAR_TYPE_SIZE 16
71
a0a301fc
DE
72#undef LONG_DOUBLE_TYPE_SIZE
73#define LONG_DOUBLE_TYPE_SIZE 128