mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
authorIan Lance Taylor <ian@cygnus.com>
Thu, 18 Dec 1997 18:45:57 +0000 (18:45 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 18 Dec 1997 18:45:57 +0000 (11:45 -0700)
        * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
        (INIT_TARGET_OPTABS): Define.
        * mips/ecoff.h: Include gofast.h before mips.h.
        (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
        * mips/elf64.h: Likewise.
        * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.

From-SVN: r17137

gcc/ChangeLog
gcc/config/mips/ecoff.h
gcc/config/mips/elf.h
gcc/config/mips/elf64.h
gcc/config/mips/mips.h

index 9333c233756ae2a54613d9795b6a9e8c4de4a474..e299f31c691309dec9693415bdb12e167629eff6 100644 (file)
@@ -1,3 +1,12 @@
+Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+       * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
+       (INIT_TARGET_OPTABS): Define.
+       * mips/ecoff.h: Include gofast.h before mips.h.
+       (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
+       * mips/elf64.h: Likewise.
+       * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
+
 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
        * except.c: Remove register_exception_table{,_p}.
index 29bf0380c1f0ef96fa7ac6ac5d73f3e74e7531f5..813f148009e715567d0cf24d12841fff580da326 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler.  MIPS version with
    GOFAST floating point library.
-   Copyright (C) 1994 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -19,6 +19,10 @@ along with GNU CC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
+/* US Software GOFAST library support.  */
+#include "gofast.h"
+#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS
+
 #include "mips/mips.h"
 
 #undef CPP_PREDEFINES
@@ -27,10 +31,6 @@ Boston, MA 02111-1307, USA.  */
 /* Use memcpy, et. al., rather than bcopy.  */
 #define TARGET_MEM_FUNCTIONS
 
-/* US Software GOFAST library support.  */
-#include "gofast.h"
-#define INIT_TARGET_OPTABS INIT_GOFAST_OPTABS
-
 /* Don't assume anything about startfiles.  The linker script will load the
    appropriate startfiles.  */
 #define STARTFILE_SPEC ""
index 8f5e32be396e0b8ae8c5fd7317c89ad159ca3c70..334484169aedd96796d88696a35bb84e8a57b0ab 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler.  MIPS R3000 version with
    GOFAST floating point library.
-   Copyright (C) 1994 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -24,7 +24,9 @@ Boston, MA 02111-1307, USA.  */
 
 /* Until we figure out what MIPS ELF targets normally use, just do
    stabs in ELF.  */
+#ifndef PREFERRED_DEBUGGING_TYPE
 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+#endif
 
 /* Mostly like ECOFF.  */
 #include "mips/ecoff.h"
@@ -51,3 +53,19 @@ do {                                                 \
    not defined, the default value is `BIGGEST_ALIGNMENT'.  */
 
 #define MAX_OFILE_ALIGNMENT (32768*8)
+
+/* A C statement to output something to the assembler file to switch to section
+   NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or
+   NULL_TREE.  Some target formats do not support arbitrary sections.  Do not
+   define this macro in such cases.  */
+
+#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \
+do {                                                           \
+  extern FILE *asm_out_text_file;                              \
+  if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL)             \
+    fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
+  else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC))      \
+    fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME));    \
+  else                                                         \
+    fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME));   \
+} while (0)
index d38dcb34e53bad3bfae11451232a086082d5f57c..1841150ef3fc7a13ccb9a1448087a7247bb6a444 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler.  MIPS R4000 version with
    GOFAST floating point library.
-   Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -39,6 +39,10 @@ Boston, MA 02111-1307, USA.  */
 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
 #endif
 
+/* US Software GOFAST library support.  */
+#include "gofast.h"
+#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS
+
 #include "mips/mips.h"
 
 #undef CPP_PREDEFINES
@@ -53,10 +57,6 @@ Boston, MA 02111-1307, USA.  */
 /* Use memcpy, et. al., rather than bcopy.  */
 #define TARGET_MEM_FUNCTIONS
 
-/* US Software GOFAST library support.  */
-#include "gofast.h"
-#define INIT_TARGET_OPTABS INIT_GOFAST_OPTABS
-
 /* Biggest alignment supported by the object file format of this
    machine.  Use this macro to limit the alignment which can be
    specified using the `__attribute__ ((aligned (N)))' construct.  If
index 44ac3b943d60fa8ea5f602d43abd1e81ae0bdb4a..645f79ec2d5546fd8919447e8c2c777515955c46 100644 (file)
@@ -4053,3 +4053,14 @@ while (0)
    true.  */
 
 #define DONT_ACCESS_GBLS_AFTER_EPILOGUE (TARGET_ABICALLS && mips_abi != ABI_32)
+
+#ifndef INIT_SUBTARGET_OPTABS
+#define INIT_SUBTARGET_OPTABS
+#endif
+
+#define INIT_TARGET_OPTABS                                             \
+do                                                                     \
+  {                                                                    \
+    INIT_SUBTARGET_OPTABS;                                             \
+  }                                                                    \
+while (0)