Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/sparc/sp64-elf.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | f6334be47118 |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Definitions of target machine for GCC, for SPARC64, ELF. | 1 /* Definitions of target machine for GCC, for SPARC64, ELF. |
2 Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2004, 2005, 2007, 2010, | 2 Copyright (C) 1994-2017 Free Software Foundation, Inc. |
3 2011 | |
4 Free Software Foundation, Inc. | |
5 Contributed by Doug Evans, dje@cygnus.com. | 3 Contributed by Doug Evans, dje@cygnus.com. |
6 | 4 |
7 This file is part of GCC. | 5 This file is part of GCC. |
8 | 6 |
9 GCC is free software; you can redistribute it and/or modify | 7 GCC is free software; you can redistribute it and/or modify |
18 | 16 |
19 You should have received a copy of the GNU General Public License | 17 You should have received a copy of the GNU General Public License |
20 along with GCC; see the file COPYING3. If not see | 18 along with GCC; see the file COPYING3. If not see |
21 <http://www.gnu.org/licenses/>. */ | 19 <http://www.gnu.org/licenses/>. */ |
22 | 20 |
23 #undef TARGET_VERSION | |
24 #define TARGET_VERSION fprintf (stderr, " (sparc64-elf)") | |
25 | |
26 /* A 64 bit v9 compiler in a Medium/Anywhere code model environment. */ | 21 /* A 64 bit v9 compiler in a Medium/Anywhere code model environment. */ |
27 #undef TARGET_DEFAULT | 22 #undef TARGET_DEFAULT |
28 #define TARGET_DEFAULT \ | 23 #define TARGET_DEFAULT \ |
29 (MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \ | 24 (MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \ |
30 + MASK_APP_REGS + MASK_FPU + MASK_STACK_BIAS + MASK_LONG_DOUBLE_128) | 25 + MASK_APP_REGS + MASK_FPU + MASK_STACK_BIAS + MASK_LONG_DOUBLE_128) |
33 #define SPARC_DEFAULT_CMODEL CM_EMBMEDANY | 28 #define SPARC_DEFAULT_CMODEL CM_EMBMEDANY |
34 | 29 |
35 /* Don't assume anything about the header files. */ | 30 /* Don't assume anything about the header files. */ |
36 #define NO_IMPLICIT_EXTERN_C | 31 #define NO_IMPLICIT_EXTERN_C |
37 | 32 |
38 /* __svr4__ is used by the C library (FIXME) */ | |
39 #undef CPP_SUBTARGET_SPEC | |
40 #define CPP_SUBTARGET_SPEC "-D__svr4__" | |
41 | |
42 #undef ASM_SPEC | 33 #undef ASM_SPEC |
43 #define ASM_SPEC "\ | 34 #define ASM_SPEC "\ |
44 -s %{fpic|fPIC|fpie|fPIE:-K PIC} \ | 35 -s %{" FPIE_OR_FPIC_SPEC ":-K PIC} \ |
45 %{mlittle-endian:-EL} \ | |
46 %(asm_cpu) %(asm_arch) \ | 36 %(asm_cpu) %(asm_arch) \ |
47 " | 37 " |
48 | 38 |
49 /* This is taken from sol2.h. */ | 39 /* This is taken from sol2.h. */ |
50 #undef LINK_SPEC | 40 #undef LINK_SPEC |
51 #define LINK_SPEC "\ | 41 #define LINK_SPEC "\ |
52 %{v:-V} \ | 42 %{v:-V} \ |
53 %{mlittle-endian:-EL} \ | |
54 " | 43 " |
55 | 44 |
56 /* We need something a little simpler for the embedded environment. | |
57 Profiling doesn't really work yet so we just copy the default. */ | |
58 #undef STARTFILE_SPEC | 45 #undef STARTFILE_SPEC |
59 #define STARTFILE_SPEC "\ | 46 #define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s" |
60 %{!shared:%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}} \ | |
61 crtbegin.o%s \ | |
62 " | |
63 | 47 |
64 #undef ENDFILE_SPEC | 48 #undef ENDFILE_SPEC |
65 #define ENDFILE_SPEC \ | 49 #define ENDFILE_SPEC \ |
66 "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ | 50 "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ |
67 crtend.o%s" | 51 crtend.o%s crtn.o%s" |
68 | 52 |
69 /* Use the default (for now). */ | 53 /* Use the default (for now). */ |
70 #undef LIB_SPEC | 54 #undef LIB_SPEC |
71 | |
72 #undef BYTES_BIG_ENDIAN | |
73 #define BYTES_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN) | |
74 | |
75 #undef WORDS_BIG_ENDIAN | |
76 #define WORDS_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN) | |
77 | 55 |
78 #undef LOCAL_LABEL_PREFIX | 56 #undef LOCAL_LABEL_PREFIX |
79 #define LOCAL_LABEL_PREFIX "." | 57 #define LOCAL_LABEL_PREFIX "." |
80 | 58 |
81 /* This is how to store into the string LABEL | 59 /* This is how to store into the string LABEL |