OSDN Git Service

(SPARC_{V9,ARCH64}): Define.
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Jan 1996 13:02:36 +0000 (13:02 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Jan 1996 13:02:36 +0000 (13:02 +0000)
(TARGET_VERSION): Define.
(TARGET_DEFAULT): Add MASK_ARCH64, delete MASK_ENV32.
(JUMP_TABLES_IN_TEXT_SECTION): Define.
(READONLY_DATA_SECTION): Make text_section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11096 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/sparc/sp64-aout.h

index 4bec40f..57e5e89 100644 (file)
@@ -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