aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1996-01-25 13:02:36 +0000
committerDoug Evans <dje@gnu.org>1996-01-25 13:02:36 +0000
commitefbf8670a0033c43bbc4d510f69ae36d4a7053f9 (patch)
treec2d67a22dbd9d6f8ee3d0d763e81ca24c884ed50
parenta4f0488b1c46a0abb54a370fae168ff665fbd523 (diff)
downloadgcc-efbf8670a0033c43bbc4d510f69ae36d4a7053f9.zip
gcc-efbf8670a0033c43bbc4d510f69ae36d4a7053f9.tar.gz
gcc-efbf8670a0033c43bbc4d510f69ae36d4a7053f9.tar.bz2
(SPARC_{V9,ARCH64}): Define.
(TARGET_VERSION): Define. (TARGET_DEFAULT): Add MASK_ARCH64, delete MASK_ENV32. (JUMP_TABLES_IN_TEXT_SECTION): Define. (READONLY_DATA_SECTION): Make text_section. From-SVN: r11096
-rw-r--r--gcc/config/sparc/sp64-aout.h32
1 files changed, 18 insertions, 14 deletions
diff --git a/gcc/config/sparc/sp64-aout.h b/gcc/config/sparc/sp64-aout.h
index 4bec40f..57e5e89 100644
--- a/gcc/config/sparc/sp64-aout.h
+++ b/gcc/config/sparc/sp64-aout.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for Sun SPARC-V9 on a hypothetical a.out format machine.
- Copyright (C) 1994 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1996 Free Software Foundation, Inc.
Contributed by Doug Evans, dje@cygnus.com.
This file is part of GNU CC.
@@ -21,30 +21,34 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* 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. */
-/* ??? Until real v9 machines exist, all of this is subject to change. */
-/* ??? This file should really be called sp64-sunos4.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 "aout" is more properly applied to
- embedded configurations. */
+ a v8/v9 compiler, this isn't the place to do it.
-#define SPARCV9 /* See sparc.h. */
+ The only code model supported is Medium/Low. */
+
+#define SPARC_V9 1 /* See sparc.h. */
+#define SPARC_ARCH64 1
#include "sparc/sparc.h"
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (sparc64-aout)")
+
/* A v9 compiler with 32 bit integers and 64 bit pointers,
in a Medium/Low code model with only 32 bit assembler support. */
#undef TARGET_DEFAULT
#define TARGET_DEFAULT \
- (MASK_V9 + MASK_MEDLOW + MASK_ENV32 + MASK_PTR64 + MASK_HARD_QUAD + MASK_EPILOGUE + MASK_FPU)
+ (MASK_V9 + MASK_ARCH64 + MASK_PTR64 + MASK_HARD_QUAD \
+ + MASK_MEDLOW + MASK_EPILOGUE + MASK_FPU)
-/* ??? Disabled for v9 as the current implementation of the Medium/Anywhere
- code model needs this in the data segment (still true?). Let's hope the
- assembler is fixed. */
+/* The medium/anywhere code model practically requires us to put jump tables
+ in the text section as gcc is unable to distinguish LABEL_REF's of jump
+ tables from other label refs (when we need to). While we don't support
+ the medium/anywhere code model, let's not make it difficult. */
#undef JUMP_TABLES_IN_TEXT_SECTION
+#define JUMP_TABLES_IN_TEXT_SECTION
-/* Put all data in the data segment (necessary for the current implementation
+/* Put all data in the text segment (necessary for the current implementation
of the Medium/Anywhere code model - see if still true). */
-#define READONLY_DATA_SECTION data_section
+#define READONLY_DATA_SECTION text_section