Commit cc21923b by Doug Evans

(SPARC_{V9,ARCH64}): Define.

(TARGET_DEFAULT): Add MASK_ARCH64.
(ENDFILE_SPEC): No longer need to check for -nostartfiles.
(ASM_IDENTIFY_GCC): Define as empty.

From-SVN: r11097
parent efbf8670
/* Definitions of target machine for GNU compiler, /* Definitions of target machine for GNU compiler,
for Sun SPARC-V9 on a hypothetical elf format machine. for Sun SPARC-V9 on a hypothetical elf format machine.
Copyright (C) 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
Contributed by Doug Evans, dje@cygnus.com. Contributed by Doug Evans, dje@cygnus.com.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -22,19 +22,14 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,19 +22,14 @@ Boston, MA 02111-1307, USA. */
/* This is a v9 only compiler. -mv8 is not expected to work. If you want /* This is a v9 only compiler. -mv8 is not expected to work. If you want
a v8/v9 compiler, this isn't the place to do it. */ a v8/v9 compiler, this isn't the place to do it. */
/* ??? Until real v9 machines exist, all of this is subject to change. */
/* ??? This file should really be called sp64-sol2.h or some such but that
would be a bit misleading since no such machines exist yet. The current
name is also misleading since the term "elf" is more properly applied to
embedded configurations. */
#define SPARCV9 /* See sparc.h. */ #define SPARC_V9 1 /* See sparc.h. */
#define SPARC_ARCH64 1
/* ??? We're taking the scheme of including another file and then overriding /* ??? We're taking the scheme of including another file and then overriding
the values we don't like a bit too far here. The alternative is to more or the values we don't like a bit too far here. The alternative is to more or
less duplicate all of svr4.h, sparc/sysv4.h, and sparc/sol2.h here less duplicate all of svr4.h, sparc/sysv4.h, and sparc/sol2.h here
(suitably cleaned up). Until real sparc64 machines exist, it's not clear (suitably cleaned up). */
which is better. */
#include "sparc/sol2.h" #include "sparc/sol2.h"
...@@ -46,7 +41,8 @@ Boston, MA 02111-1307, USA. */ ...@@ -46,7 +41,8 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_DEFAULT #undef TARGET_DEFAULT
#define TARGET_DEFAULT \ #define TARGET_DEFAULT \
(MASK_V9 + MASK_STACK_BIAS + MASK_MEDANY + MASK_PTR64 + MASK_HARD_QUAD + MASK_EPILOGUE + MASK_FPU) (MASK_V9 + MASK_ARCH64 + MASK_PTR64 + MASK_HARD_QUAD \
+ MASK_STACK_BIAS + MASK_MEDANY + MASK_EPILOGUE + MASK_FPU)
/* __svr4__ is used by the C library */ /* __svr4__ is used by the C library */
#undef CPP_PREDEFINES #undef CPP_PREDEFINES
...@@ -84,7 +80,7 @@ crtbegin.o%s \ ...@@ -84,7 +80,7 @@ crtbegin.o%s \
" "
#undef ENDFILE_SPEC #undef ENDFILE_SPEC
#define ENDFILE_SPEC "%{!nostartfiles:crtend.o%s}" #define ENDFILE_SPEC "crtend.o%s"
/* Use the default (for now). */ /* Use the default (for now). */
#undef LIB_SPEC #undef LIB_SPEC
...@@ -106,10 +102,11 @@ crtbegin.o%s \ ...@@ -106,10 +102,11 @@ crtbegin.o%s \
#undef WCHAR_TYPE_SIZE #undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 16 #define WCHAR_TYPE_SIZE 16
/* ??? Disabled for v9 as the current implementation of the Medium/Anywhere /* The medium/anywhere code model practically requires us to put jump tables
code model needs this in the data segment (still true?). Let's hope the in the text section as gcc is unable to distinguish LABEL_REF's of jump
assembler is fixed. */ tables from other label refs (when we need to). */
#undef JUMP_TABLES_IN_TEXT_SECTION #undef JUMP_TABLES_IN_TEXT_SECTION
#define JUMP_TABLES_IN_TEXT_SECTION
/* System V Release 4 uses DWARF debugging info. /* System V Release 4 uses DWARF debugging info.
GDB doesn't support 64 bit stabs yet and the desired debug format is DWARF GDB doesn't support 64 bit stabs yet and the desired debug format is DWARF
...@@ -121,6 +118,11 @@ crtbegin.o%s \ ...@@ -121,6 +118,11 @@ crtbegin.o%s \
#undef PREFERRED_DEBUGGING_TYPE #undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DWARF_DEBUG #define PREFERRED_DEBUGGING_TYPE DWARF_DEBUG
/* Stabs doesn't use this, and it confuses a simulator. */
/* ??? Need to see what DWARF needs, if anything. */
#undef ASM_IDENTIFY_GCC
#define ASM_IDENTIFY_GCC(FILE)
/* Define the names of various pseudo-ops used by the Sparc/svr4 assembler. /* Define the names of various pseudo-ops used by the Sparc/svr4 assembler.
??? If ints are 64 bits then UNALIGNED_INT_ASM_OP (defined elsewhere) is ??? If ints are 64 bits then UNALIGNED_INT_ASM_OP (defined elsewhere) is
misnamed. These should all refer to explicit sizes (half/word/xword?), misnamed. These should all refer to explicit sizes (half/word/xword?),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment