summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-29 22:21:41 +0000
committerechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-29 22:21:41 +0000
commit3c791c03ac7a881583815b9546391d4568972144 (patch)
tree53a67fa5e056e948fc0866051e59701ab03ab8de
parentb3eecb6c12e1c236a33074b9e5c80c253f5500ba (diff)
downloadgcc-3c791c03ac7a881583815b9546391d4568972144.tar.gz
2002-07-29 Eric Christopher <echristo@redhat.com>
* config/mips/elf.h: Remove ecoff.h and gofast includes. (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally. (SDB_DEBUGGING_INFO): Undefine. (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. (PUT_SDB_SIZE): Remove. (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine. (STARTFILE_SPEC): Add isa3264 define. * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here... * config/mips/ecoff.h: Remove. and here... * config/mips/iris3.h: and here... * config/mips/sni-svr4.h: and here... * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs. Add assembler -mmdebug options for non-dwarf debugging. * config/mips/r3900.h: Remove debug info defines. * config/mips/isa32-linux.h: Remove, move functionality to config.gcc. * config/mips/isa3264.h: Ditto. * config/mips/t-isa3264: Fix up for file removal and gofast configure change. * config/mips/t-elf: Ditto. * config/mips/t-ecoff: Ditto. * config/mips/t-r3900: Ditto. * config/mips/t-iris5-6: Ditto. * config/mips/t-isa3264: Ditto. * config/mips/t-linux: Remove. * config/mips/t-netbsd: Remove. * config/mips/t-mips: New file. * config/mips/t-gofast: Ditto. * config/mips/netbsd.h: Remove unnecessary undefines. * config/mips/linux.h: Remove #include of mips.h. * config.gcc: Add mips.h include for elf targets. Remove tm_file for ecoff. Add gofast configure option for mips. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55852 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog36
-rw-r--r--gcc/config.gcc45
-rw-r--r--gcc/config/mips/ecoff.h33
-rw-r--r--gcc/config/mips/elf.h58
-rw-r--r--gcc/config/mips/elf64.h50
-rw-r--r--gcc/config/mips/iris3.h3
-rw-r--r--gcc/config/mips/isa32-linux.h29
-rw-r--r--gcc/config/mips/isa3264.h45
-rw-r--r--gcc/config/mips/linux.h4
-rw-r--r--gcc/config/mips/mips.c17
-rw-r--r--gcc/config/mips/mips.h9
-rw-r--r--gcc/config/mips/netbsd.h5
-rw-r--r--gcc/config/mips/r3900.h19
-rw-r--r--gcc/config/mips/sni-svr4.h3
-rw-r--r--gcc/config/mips/t-ecoff22
-rw-r--r--gcc/config/mips/t-elf28
-rw-r--r--gcc/config/mips/t-gofast (renamed from gcc/config/mips/t-netbsd)9
-rw-r--r--gcc/config/mips/t-iris5-617
-rw-r--r--gcc/config/mips/t-isa326424
-rw-r--r--gcc/config/mips/t-mips (renamed from gcc/config/mips/t-linux)9
-rw-r--r--gcc/config/mips/t-r390026
21 files changed, 121 insertions, 370 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f1f8c1506c6..dee88424ae1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,37 @@
+2002-07-29 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/elf.h: Remove ecoff.h and gofast includes.
+ (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
+ (SDB_DEBUGGING_INFO): Undefine.
+ (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
+ (PUT_SDB_SIZE): Remove.
+ (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
+ (STARTFILE_SPEC): Add isa3264 define.
+ * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
+ * config/mips/ecoff.h: Remove. and here...
+ * config/mips/iris3.h: and here...
+ * config/mips/sni-svr4.h: and here...
+ * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
+ Add assembler -mmdebug options for non-dwarf debugging.
+ * config/mips/r3900.h: Remove debug info defines.
+ * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
+ * config/mips/isa3264.h: Ditto.
+ * config/mips/t-isa3264: Fix up for file removal and gofast configure
+ change.
+ * config/mips/t-elf: Ditto.
+ * config/mips/t-ecoff: Ditto.
+ * config/mips/t-r3900: Ditto.
+ * config/mips/t-iris5-6: Ditto.
+ * config/mips/t-isa3264: Ditto.
+ * config/mips/t-linux: Remove.
+ * config/mips/t-netbsd: Remove.
+ * config/mips/t-mips: New file.
+ * config/mips/t-gofast: Ditto.
+ * config/mips/netbsd.h: Remove unnecessary undefines.
+ * config/mips/linux.h: Remove #include of mips.h.
+ * config.gcc: Add mips.h include for elf targets. Remove tm_file
+ for ecoff. Add gofast configure option for mips.
+
2002-07-29 Chris Demetriou <cgd@broadcom.com>
* configure.in (mips*-*-*): Add a test to see if MIPS libgloss
@@ -114,7 +148,7 @@
2002-07-29 Mike Stump <mrs@apple.com>
- * config.gcc (target_gtfiles): Initialize, as otherwise cross
+ * config.gcc (target_gtfiles): Initialize, as otherwise cross
compilers hosted on powerpc-apple-darwin6.0 won't even build.
2002-07-29 Richard Earnshaw <rearnsha@arm.com>
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 9f2266f45bf..913bc16fb9b 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1439,7 +1439,7 @@ ia64*-*-hpux*)
use_collect2=no
float_format=i128
;;
-ip2k-*-elf)
+ip2k-*-elf)
;;
m32r-*-elf*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
@@ -1786,7 +1786,7 @@ mips-sgi-irix6*) # SGI System V.4., IRIX 6
# fi
;;
mips-wrs-vxworks)
- tm_file="mips/elf.h mips/vxworks.h"
+ tm_file="${tm_file} mips/elf.h mips/vxworks.h"
tmake_file=mips/t-ecoff
gas=yes
gnu_ld=yes
@@ -1854,11 +1854,11 @@ mips*-*-netbsd*) # NetBSD/mips, either endian.
tmake_file="${tmake_file} mips/t-netbsd"
;;
mips*-*-linux*) # Linux MIPS, either endian.
- tm_file="dbxelf.h elfos.h svr4.h linux.h mips/linux.h"
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h mips/linux.h"
case $machine in
mipsisa32*-*)
- tm_file="$tm_file mips/isa32-linux.h"
target_cpu_default="MASK_SOFT_FLOAT"
+ tm_defines="MIPS_ISA_DEFAULT=32"
;;
esac
tmake_file="t-slibgcc-elf-ver t-linux mips/t-linux"
@@ -1877,53 +1877,60 @@ mips*-*-openbsd*) # mips big endian
tm_file="mips/openbsd-be.h ${tm_file}"
;;
mips-*-ecoff* | mipsel-*-ecoff*)
- tm_file="gofast.h mips/ecoff.h"
if test x$stabs = xyes; then
tm_file="${tm_file} dbx.h"
fi
tmake_file=mips/t-ecoff
;;
mipsisa32-*-elf* | mipsisa32el-*-elf*)
- tm_file="mips/isa3264.h mips/abi64.h"
+ tm_file="${tm_file} mips/elf.h mips/abi64.h"
tmake_file=mips/t-isa3264
- target_cpu_default="MASK_SOFT_FLOAT"
+ tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_MEABI"
;;
mipsisa64-*-elf* | mipsisa64el-*-elf*)
- tm_file="mips/isa3264.h mips/abi64.h"
+ tm_file="${tm_file} mips/elf.h mips/abi64.h"
tmake_file=mips/t-isa3264
target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
- tm_defines="MIPS_ISA_DEFAULT=64"
+ tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_MEABI"
;;
mips-*-elf* | mipsel-*-elf*)
- tm_file="mips/elf.h"
+ tm_file="${tm_file} mips/elf.h"
tmake_file=mips/t-elf
;;
mips64-*-elf* | mips64el-*-elf*)
- tm_file="mips/elf64.h"
+ tm_file="${tm_file} mips/elf64.h"
tmake_file=mips/t-elf
+ target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
+ tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
;;
mips64orion-*-elf* | mips64orionel-*-elf*)
- tm_file="mips/elforion.h mips/elf64.h"
+ tm_file="${tm_file} mips/elforion.h mips/elf64.h"
+ tmake_file=mips/t-elf
tmake_file=mips/t-elf
+ target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
+ tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
;;
mips64orion-*-rtems*)
xm_defines=POSIX
- tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h rtems.h"
+ tm_file="${tm_file} mips/elforion.h mips/elf64.h mips/rtems64.h rtems.h"
tmake_file="mips/t-elf t-rtems"
+ tmake_file=mips/t-elf
+ target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS"
+ tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
;;
mips*-*-rtems*)
xm_defines=POSIX
- tm_file="mips/elf.h mips/rtems.h rtems.h"
+ tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h"
tmake_file="mips/t-elf t-rtems"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
;;
mipstx39-*-elf* | mipstx39el-*-elf*)
- tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
+ tm_file="${tm_file} mips/r3900.h mips/elf.h mips/abi64.h"
tmake_file=mips/t-r3900
;;
mmix-knuth-mmixware)
@@ -2915,6 +2922,14 @@ mips*-*-*)
tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
;;
esac
+ if test "x$enable_gofast" = xyes
+ then
+ tm_defines="INIT_SUBTARGET_OPTABS=INIT_GOFAST_OPTABS $tm_defines"
+ tm_file="gofast.h $tm_file"
+ tmake_file="mips/t-gofast $tmake_file"
+ else
+ tmake_file="mips/t-mips $tmake_file"
+ fi
;;
powerpc*-*-* | rs6000-*-*)
if test x$enable_altivec = xyes
diff --git a/gcc/config/mips/ecoff.h b/gcc/config/mips/ecoff.h
deleted file mode 100644
index 0db9bc74327..00000000000
--- a/gcc/config/mips/ecoff.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Definitions of target machine for GNU compiler. MIPS version with
- GOFAST floating point library.
- Copyright (C) 1994, 1998 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-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. */
-#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS
-
-#include "mips/mips.h"
-
-/* Use memcpy, et. al., rather than bcopy. */
-#define TARGET_MEM_FUNCTIONS
-
-/* Don't assume anything about startfiles. The linker script will load the
- appropriate startfiles. */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC ""
diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h
index b62bf343409..07fe78511ad 100644
--- a/gcc/config/mips/elf.h
+++ b/gcc/config/mips/elf.h
@@ -20,59 +20,39 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Use ELF. */
+#undef OBJECT_FORMAT_COFF
+#undef EXTENDED_COFF
#define OBJECT_FORMAT_ELF
-/* All ELF targets can support DWARF-2. */
+/* ??? Move all SDB stuff into separate header file. */
+#undef SDB_DEBUGGING_INFO
-#ifndef DWARF2_DEBUGGING_INFO
-#define DWARF2_DEBUGGING_INFO 1
-#endif
+#define DBX_DEBUGGING_INFO
+#define DWARF2_DEBUGGING_INFO
-/* 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
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-/* Mostly like ECOFF. */
-#include "gofast.h"
-#include "mips/ecoff.h"
-
-/* We need to use .esize and .etype instead of .size and .type to
- avoid conflicting with ELF directives. */
-#undef PUT_SDB_SIZE
-#define PUT_SDB_SIZE(a) \
-do { \
- extern FILE *asm_out_text_file; \
- fprintf (asm_out_text_file, "\t.esize\t"); \
- fprintf (asm_out_text_file, HOST_WIDE_INT_PRINT_DEC, (HOST_WIDE_INT) (a)); \
- fprintf (asm_out_text_file, ";"); \
-} while (0)
-
-#undef PUT_SDB_TYPE
-#define PUT_SDB_TYPE(a) \
-do { \
- extern FILE *asm_out_text_file; \
- fprintf (asm_out_text_file, "\t.etype\t0x%x;", (a)); \
-} while (0)
+#undef SUBTARGET_ASM_DEBUGGING_SPEC
+#define SUBTARGET_ASM_DEBUGGING_SPEC "-g0"
/* 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
not defined, the default value is `BIGGEST_ALIGNMENT'. */
-#undef MAX_OFILE_ALIGNMENT
+#undef MAX_OFILE_ALIGNMENT
#define MAX_OFILE_ALIGNMENT (32768*8)
/* Switch into a generic section. */
-#undef TARGET_ASM_NAMED_SECTION
+#undef TARGET_ASM_NAMED_SECTION
#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
/* Given that Irix has it's own headers, not having TARGET_GAS here
seems a mistake. If we actually need to be prepared for file
switching, then we need a custom TARGET_ASM_NAMED_SECTION too. */
-#undef TEXT_SECTION
+#undef TEXT_SECTION
#define TEXT_SECTION() \
do { \
if (TARGET_FILE_SWITCHING) \
@@ -145,7 +125,7 @@ do { \
/* Write the extra assembler code needed to declare an object properly. */
-#undef ASM_DECLARE_OBJECT_NAME
+#undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
do { \
HOST_WIDE_INT size; \
@@ -166,7 +146,7 @@ do { \
size_directive_output was set
by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */
-#undef ASM_FINISH_DECLARE_OBJECT
+#undef ASM_FINISH_DECLARE_OBJECT
#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
do { \
const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
@@ -198,7 +178,7 @@ do { \
but until that support is generally available, the 'if' below
should serve. */
-#undef ASM_WEAKEN_LABEL
+#undef ASM_WEAKEN_LABEL
#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0)
#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
do { \
@@ -221,10 +201,10 @@ do { \
/* A list of other sections which the compiler might be "in" at any
given time. */
-#undef EXTRA_SECTIONS
+#undef EXTRA_SECTIONS
#define EXTRA_SECTIONS in_sdata, in_sbss
-#undef EXTRA_SECTION_FUNCTIONS
+#undef EXTRA_SECTION_FUNCTIONS
#define EXTRA_SECTION_FUNCTIONS \
SECTION_FUNCTION_TEMPLATE(sdata_section, in_sdata, SDATA_SECTION_ASM_OP) \
SECTION_FUNCTION_TEMPLATE(sbss_section, in_sbss, SBSS_SECTION_ASM_OP)
@@ -251,7 +231,7 @@ void FN () \
#define FINI_SECTION_ASM_OP "\t.section\t.fini"
/* Don't set the target flags, this is done by the linker script */
-#undef LIB_SPEC
+#undef LIB_SPEC
#define LIB_SPEC ""
#undef STARTFILE_SPEC
diff --git a/gcc/config/mips/elf64.h b/gcc/config/mips/elf64.h
index 32116b7e641..1882747fbf3 100644
--- a/gcc/config/mips/elf64.h
+++ b/gcc/config/mips/elf64.h
@@ -20,33 +20,19 @@ 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. */
+#undef OBJECT_FORMAT_COFF
+#undef EXTENDED_COFF
#define OBJECT_FORMAT_ELF
-/* If an embedded ABI is selected, prefer to generate 64-bit code.
- Implies -mips3 in such cases. */
-#ifndef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_FLOAT64|MASK_64BIT
-#endif
-
-/* This should change to n32 when it is supported in gas. */
-#ifndef MIPS_ABI_DEFAULT
-#define MIPS_ABI_DEFAULT ABI_O64
-#endif
-
-/* 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
+#undef SDB_DEBUGGING_INFO
+#define DBX_DEBUGGING_INFO
+#define DWARF2_DEBUGGING_INFO
-/* US Software GOFAST library support. */
-#include "gofast.h"
-#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-#include "mips/mips.h"
-
-/* Use memcpy, et. al., rather than bcopy. */
-#define TARGET_MEM_FUNCTIONS
+#undef SUBTARGET_ASM_DEBUGGING_SPEC
+#define SUBTARGET_ASM_DEBUGGING_SPEC "-g0"
/* Biggest alignment supported by the object file format of this
machine. Use this macro to limit the alignment which can be
@@ -56,24 +42,6 @@ Boston, MA 02111-1307, USA. */
#undef MAX_OFILE_ALIGNMENT
#define MAX_OFILE_ALIGNMENT (32768*8)
-/* We need to use .esize and .etype instead of .size and .type to
- avoid conflicting with ELF directives. */
-#undef PUT_SDB_SIZE
-#define PUT_SDB_SIZE(a) \
-do { \
- extern FILE *asm_out_text_file; \
- fprintf (asm_out_text_file, "\t.esize\t"); \
- fprintf (asm_out_text_file, HOST_WIDE_INT_PRINT_DEC, (HOST_WIDE_INT) (a)); \
- fprintf (asm_out_text_file, ";"); \
-} while (0)
-
-#undef PUT_SDB_TYPE
-#define PUT_SDB_TYPE(a) \
-do { \
- extern FILE *asm_out_text_file; \
- fprintf (asm_out_text_file, "\t.etype\t0x%x;", (a)); \
-} while (0)
-
/* Switch into a generic section. */
#undef TARGET_ASM_NAMED_SECTION
#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
diff --git a/gcc/config/mips/iris3.h b/gcc/config/mips/iris3.h
index 2119f3c72d9..5b05a9f9fbf 100644
--- a/gcc/config/mips/iris3.h
+++ b/gcc/config/mips/iris3.h
@@ -65,8 +65,5 @@ Boston, MA 02111-1307, USA. */
#define WCHAR_TYPE "unsigned char"
#define WCHAR_TYPE_SIZE BITS_PER_UNIT
-/* Generate calls to memcpy, etc., not bcopy, etc. */
-#define TARGET_MEM_FUNCTIONS
-
/* Plain char is unsigned in the SGI compiler. */
#define DEFAULT_SIGNED_CHAR 0
diff --git a/gcc/config/mips/isa32-linux.h b/gcc/config/mips/isa32-linux.h
deleted file mode 100644
index a03b79a6621..00000000000
--- a/gcc/config/mips/isa32-linux.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Definitions for MIPS32 running Linux-based GNU systems with ELF format.
- Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-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. */
-
-#undef TARGET_VERSION
-#if TARGET_ENDIAN_DEFAULT == 0
-#define TARGET_VERSION fprintf (stderr, " (MIPS32el GNU/Linux with ELF)");
-#else
-#define TARGET_VERSION fprintf (stderr, " (MIPS32 GNU/Linux with ELF)");
-#endif
-
-#undef MIPS_ISA_DEFAULT
-#define MIPS_ISA_DEFAULT 32
diff --git a/gcc/config/mips/isa3264.h b/gcc/config/mips/isa3264.h
deleted file mode 100644
index 90525963a2b..00000000000
--- a/gcc/config/mips/isa3264.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Definitions of target machine for GNU compiler.
- MIPS 32 and MIPS 64 version.
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-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. */
-
-#ifndef MIPS_ISA_DEFAULT
-#define MIPS_ISA_DEFAULT 32
-#endif
-
-#ifndef MIPS_ABI_DEFAULT
-#define MIPS_ABI_DEFAULT ABI_MEABI
-#endif
-
-#ifndef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
-#endif
-
-#include "mips/elf.h"
-
-#ifndef HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES
-/* Once HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is always true, this code
- can be GC'd. */
-#if MIPS_ABI_DEFAULT == ABI_MEABI
-/* For MEABI, don't link with crt0 files, let the linker start files specify
- the appropriate crt0 file. */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "crti%O%s crtbegin%O%s"
-#endif
-#endif
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
index 1e805b67d16..71de1611699 100644
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -18,7 +18,6 @@ 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. */
-#include "mips/mips.h"
#include "mips/abi64.h"
#undef WCHAR_TYPE
@@ -188,14 +187,13 @@ void FN () \
%{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
%{static:-static}}}"
-
#undef SUBTARGET_ASM_SPEC
#define SUBTARGET_ASM_SPEC "\
%{mabi=64: -64} \
%{!fno-PIC:%{!fno-pic:-KPIC}} \
%{fno-PIC:-non_shared} %{fno-pic:-non_shared}"
-#undef SUBTARGET_ASM_DEBUGGING_SPEC
+#undef SUBTARGET_ASM_DEBUGGING_SPEC
#define SUBTARGET_ASM_DEBUGGING_SPEC "-g0"
/* The MIPS assembler has different syntax for .set. We set it to
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 8c5a34ffbc7..532e55994ea 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -5357,13 +5357,13 @@ override_options ()
else if (FP_REG_P (regno))
temp = (((regno % FP_INC) == 0
- /* I think this change is OK regardless of abi, but
+ /* I think this change is OK regardless of abi, but
I'm being cautions untill I can test this more.
HARD_REGNO_MODE_OK is about whether or not you
can move to and from a register without changing
the value, not about whether math works on the
- register. */
- || (mips_abi == ABI_MEABI && size <= 4))
+ register. */
+ || (mips_abi == ABI_MEABI && size <= 4))
&& (((class == MODE_FLOAT || class == MODE_COMPLEX_FLOAT)
&& size <= UNITS_PER_FPVALUE)
/* Allow integer modes that fit into a single
@@ -10369,20 +10369,17 @@ mips_return_in_memory (type)
static int
mips_issue_rate ()
{
- int rate;
-
switch (mips_tune)
{
case PROCESSOR_R3000:
- rate = 1;
- break;
+ return 1;
default:
- rate = 1;
- break;
+ return 1;
}
- return rate;
+ abort ();
+
}
const char *
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 84b6880ddf1..3ec2cf5fe5d 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -1046,7 +1046,8 @@ extern int mips_abi;
%{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \
%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \
%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \
-%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}"
+%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \
+%{!gdwarf*:-mmdebug} %{gdwarf*:-mno-mdebug}"
#endif
/* SUBTARGET_ASM_SPEC is always passed to the assembler. It may be
@@ -1448,10 +1449,8 @@ do { \
mips_debugger_offset (X, (HOST_WIDE_INT) OFFSET)
/* Tell collect that the object format is ECOFF */
-#ifndef OBJECT_FORMAT_ROSE
#define OBJECT_FORMAT_COFF /* Object file looks like COFF */
#define EXTENDED_COFF /* ECOFF, not normal coff */
-#endif
/* Target machine storage layout */
@@ -2646,7 +2645,6 @@ extern enum reg_class mips_char_to_class[256];
/* 1 if N is a possible register number for function argument passing.
We have no FP argument registers when soft-float. When FP registers
are 32 bits, we can't directly reference the odd numbered ones. */
-/* For o64 we should be checking the mode for SFmode as well. */
#define FUNCTION_ARG_REGNO_P(N) \
((IN_RANGE((N), GP_ARG_FIRST, GP_ARG_LAST) \
@@ -4656,3 +4654,6 @@ while (0)
#define SFMODE_NAN \
unsigned short SFbignan[2] = {0x7fbf, 0xffff}; \
unsigned short SFlittlenan[2] = {0xffff, 0xffbf}
+
+/* Generate calls to memcpy, etc., not bcopy, etc. */
+#define TARGET_MEM_FUNCTIONS 1
diff --git a/gcc/config/mips/netbsd.h b/gcc/config/mips/netbsd.h
index e661b003a6c..bda60584871 100644
--- a/gcc/config/mips/netbsd.h
+++ b/gcc/config/mips/netbsd.h
@@ -60,13 +60,8 @@ Boston, MA 02111-1307, USA. */
#include <mips/elf.h>
/* Now clean up after it. */
-#undef OBJECT_FORMAT_COFF
#undef MD_EXEC_PREFIX
#undef MD_STARTFILE_PREFIX
-#undef US_SOFTWARE_GOFAST
-#undef INIT_SUBTARGET_OPTABS
-#define INIT_SUBTARGET_OPTABS
-
/* Get generic NetBSD definitions. */
#include <netbsd.h>
diff --git a/gcc/config/mips/r3900.h b/gcc/config/mips/r3900.h
index a8eb35705c5..ebef39f8787 100644
--- a/gcc/config/mips/r3900.h
+++ b/gcc/config/mips/r3900.h
@@ -35,22 +35,3 @@ Boston, MA 02111-1307, USA. */
%{mhard-float:%e-mhard-float not supported} \
%{msingle-float:%{msoft-float: \
%e-msingle-float and -msoft-float can not both be specified}}"
-
-/* Debugging */
-
-#define DWARF2_DEBUGGING_INFO
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-
-/* For the 'preferred' cases ("gN" and "ggdbN") we need to tell the
- gnu assembler not to generate debugging information. */
-
-#define SUBTARGET_ASM_DEBUGGING_SPEC "\
-%{!mmips-as: \
- %{g:-g0} %{g0:-g0} %{g1:-g0} %{g2:-g0} %{g3:-g0} \
- %{ggdb:-g0} %{ggdb0:-g0} %{ggdb1:-g0} %{ggdb2:-g0} %{ggdb3:-g0} \
- %{gdwarf-2*:-g0}} \
-%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \
-%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \
-%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}"
-
-/* eof */
diff --git a/gcc/config/mips/sni-svr4.h b/gcc/config/mips/sni-svr4.h
index 1e5b14be434..f912759a16b 100644
--- a/gcc/config/mips/sni-svr4.h
+++ b/gcc/config/mips/sni-svr4.h
@@ -59,9 +59,6 @@ Boston, MA 02111-1307, USA. */
#define getpagesize() sysconf(_SC_PAGE_SIZE)
#endif /* L_trampoline */
-/* Generate calls to memcpy, etc., not bcopy, etc. */
-#define TARGET_MEM_FUNCTIONS
-
#define OBJECT_FORMAT_ELF
#define TARGET_DEFAULT MASK_ABICALLS
diff --git a/gcc/config/mips/t-ecoff b/gcc/config/mips/t-ecoff
index 8d7abc053bc..89e9bcf86c3 100644
--- a/gcc/config/mips/t-ecoff
+++ b/gcc/config/mips/t-ecoff
@@ -1,5 +1,3 @@
-CONFIG2_H = $(srcdir)/config/mips/ecoff.h
-
LIB1ASMSRC = mips/mips16.S
LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
@@ -19,26 +17,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
# without the $gp register.
TARGET_LIBGCC2_CFLAGS = -G 0
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#ifdef __MIPSEL__' > dp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
- echo '#endif' >> dp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
- cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#define FLOAT' > fp-bit.c
- echo '#ifdef __MIPSEL__' >> fp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
- echo '#endif' >> fp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
- cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
# Build the libraries for both hard and soft floating point
MULTILIB_OPTIONS = msoft-float/msingle-float EL/EB mips1/mips3
diff --git a/gcc/config/mips/t-elf b/gcc/config/mips/t-elf
index 06c297c540b..13ddcc3d22a 100644
--- a/gcc/config/mips/t-elf
+++ b/gcc/config/mips/t-elf
@@ -1,5 +1,3 @@
-CONFIG2_H = $(srcdir)/config/mips/ecoff.h
-
# Don't let CTOR_LIST end up in sdata section.
CRTSTUFF_T_CFLAGS = -G 0
@@ -31,31 +29,11 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
# without the $gp register.
TARGET_LIBGCC2_CFLAGS = -G 0
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#ifdef __MIPSEL__' > dp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
- echo '#endif' >> dp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
- cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#define FLOAT' > fp-bit.c
- echo '#ifdef __MIPSEL__' >> fp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
- echo '#endif' >> fp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
- cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
# Build the libraries for both hard and soft floating point
-MULTILIB_OPTIONS = msoft-float/msingle-float EL/EB
-MULTILIB_DIRNAMES = soft-float single el eb
-MULTILIB_MATCHES = msingle-float=m4650
+MULTILIB_OPTIONS = msoft-float EL/EB
+MULTILIB_DIRNAMES = soft-float el eb
+#MULTILIB_MATCHES = msingle-float=m4650
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o
LIBGCC = stmp-multilib
diff --git a/gcc/config/mips/t-netbsd b/gcc/config/mips/t-gofast
index 75db636b6e7..a6c60d4bf57 100644
--- a/gcc/config/mips/t-netbsd
+++ b/gcc/config/mips/t-gofast
@@ -7,14 +7,13 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#ifdef __MIPSEL__' > dp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
echo '#endif' >> dp-bit.c
- echo '#undef US_SOFTWARE_GOFAST' >> dp-bit.c
- echo '#undef FLOAT' >> dp-bit.c
+ echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
fp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#ifdef __MIPSEL__' > fp-bit.c
+ echo '#define FLOAT' > fp-bit.c
+ echo '#ifdef __MIPSEL__' >> fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
echo '#endif' >> fp-bit.c
- echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c
- echo '#define FLOAT' >> fp-bit.c
+ echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
diff --git a/gcc/config/mips/t-iris5-6 b/gcc/config/mips/t-iris5-6
index ae45f187ea9..d0440bc5ca1 100644
--- a/gcc/config/mips/t-iris5-6
+++ b/gcc/config/mips/t-iris5-6
@@ -27,19 +27,4 @@ SHLIB_INSTALL = \
$(LN_S) $(SHLIB_SONAME) \
$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
-SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
-
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#undef US_SOFTWARE_GOFAST' > dp-bit.c
- echo '#undef FLOAT' >> dp-bit.c
- cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#define FLOAT' > fp-bit.c
- echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c
- cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
diff --git a/gcc/config/mips/t-isa3264 b/gcc/config/mips/t-isa3264
index 620b1ff6679..02c9d272ea0 100644
--- a/gcc/config/mips/t-isa3264
+++ b/gcc/config/mips/t-isa3264
@@ -1,4 +1,4 @@
-CONFIG2_H = $(srcdir)/config/mips/isa3264.h $(srcdir)/config/mips/elf.h $(srcdir)/config/mips/ecoff.h $(srcdir)/config/mips/mips.h
+CONFIG2_H = $(srcdir)/config/mips/elf.h $(srcdir)/config/mips/mips.h
# Don't let CTOR_LIST end up in sdata section.
CRTSTUFF_T_CFLAGS = -G 0
@@ -31,28 +31,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
# without the $gp register.
TARGET_LIBGCC2_CFLAGS = -G 0
-# fp-bit and dp-bit are really part of libgcc1, but this will cause
-# them to be built correctly, so... [taken from t-sparclite]
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#ifdef __MIPSEL__' > dp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
- echo '#endif' >> dp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
- cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#define FLOAT' > fp-bit.c
- echo '#ifdef __MIPSEL__' >> fp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
- echo '#endif' >> fp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
- cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
# Build the libraries for both hard and soft floating point
MULTILIB_OPTIONS = msoft-float EL/EB mips32/mips64
diff --git a/gcc/config/mips/t-linux b/gcc/config/mips/t-mips
index 75db636b6e7..292386d0383 100644
--- a/gcc/config/mips/t-linux
+++ b/gcc/config/mips/t-mips
@@ -1,3 +1,5 @@
+# fp-bit and dp-bit are really part of libgcc1, but this will cause
+# them to be built correctly, so... [taken from t-sparclite]
# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c
@@ -7,14 +9,11 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#ifdef __MIPSEL__' > dp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
echo '#endif' >> dp-bit.c
- echo '#undef US_SOFTWARE_GOFAST' >> dp-bit.c
- echo '#undef FLOAT' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
fp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#ifdef __MIPSEL__' > fp-bit.c
+ echo '#define FLOAT' > fp-bit.c
+ echo '#ifdef __MIPSEL__' >> fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
echo '#endif' >> fp-bit.c
- echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c
- echo '#define FLOAT' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
diff --git a/gcc/config/mips/t-r3900 b/gcc/config/mips/t-r3900
index 85a6c545ac5..f8778cd158d 100644
--- a/gcc/config/mips/t-r3900
+++ b/gcc/config/mips/t-r3900
@@ -1,5 +1,3 @@
-CONFIG2_H = $(srcdir)/config/mips/ecoff.h
-
LIB1ASMSRC = mips/mips16.S
LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
@@ -19,34 +17,14 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
# without the $gp register.
TARGET_LIBGCC2_CFLAGS = -G 0
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#ifdef __MIPSEL__' > dp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
- echo '#endif' >> dp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
- cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
- echo '#define FLOAT' > fp-bit.c
- echo '#ifdef __MIPSEL__' >> fp-bit.c
- echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
- echo '#endif' >> fp-bit.c
- echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
- cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
# Don't let CTOR_LIST end up in sdata section.
CRTSTUFF_T_CFLAGS = -G 0
# Build the libraries for both hard and soft floating point
-MULTILIB_OPTIONS = msoft-float/msingle-float EL/EB
-MULTILIB_DIRNAMES = soft-float single el eb
+MULTILIB_OPTIONS = msoft-float EL/EB
+MULTILIB_DIRNAMES = soft-float el eb
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib