summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rwxr-xr-xconfigure6
-rw-r--r--configure.ac6
-rw-r--r--gas/ChangeLog28
-rw-r--r--gas/Makefile.am2
-rw-r--r--gas/Makefile.in17
-rw-r--r--gas/NEWS2
-rw-r--r--gas/as.c1
-rw-r--r--gas/config/e-mipsecoff.c56
-rw-r--r--gas/config/tc-mips.c51
-rw-r--r--gas/config/te-lnews.h24
-rwxr-xr-xgas/configure29
-rw-r--r--gas/configure.in29
-rw-r--r--gas/configure.tgt10
-rw-r--r--gas/doc/as.texinfo32
-rw-r--r--gas/ecoff.c3
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/all/gas.exp3
-rw-r--r--gas/testsuite/gas/mips/branch-misc-1.d1
-rw-r--r--gas/testsuite/gas/mips/branch-misc-2-64.d1
-rw-r--r--gas/testsuite/gas/mips/branch-misc-2.d1
-rw-r--r--gas/testsuite/gas/mips/branch-misc-2pic-64.d1
-rw-r--r--gas/testsuite/gas/mips/branch-misc-2pic.d1
-rw-r--r--gas/testsuite/gas/mips/branch-swap.d1
-rw-r--r--ld/ChangeLog21
-rw-r--r--ld/Makefile.am30
-rw-r--r--ld/Makefile.in37
-rw-r--r--ld/NEWS2
-rw-r--r--ld/configure.tgt9
-rw-r--r--ld/emulparams/mipsbig.sh6
-rw-r--r--ld/emulparams/mipsbsd.sh7
-rw-r--r--ld/emulparams/mipsidt.sh12
-rw-r--r--ld/emulparams/mipsidtl.sh12
-rw-r--r--ld/emulparams/mipslit.sh6
-rw-r--r--ld/emulparams/mipslnews.sh9
-rw-r--r--ld/emulparams/mipspe.sh9
-rw-r--r--ld/emultempl/m68kcoff.em2
-rw-r--r--ld/emultempl/mipsecoff.em38
-rw-r--r--ld/emultempl/pe.em8
-rw-r--r--ld/ld.texinfo2
-rw-r--r--ld/ldmain.c2
41 files changed, 113 insertions, 419 deletions
diff --git a/ChangeLog b/ChangeLog
index ed3bc27d52..007f07b48f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * configure.ac (mips*-*-bsd*, mips*-*-ultrix*, mips*-*-osf*)
+ (mips*-*-ecoff*, mips*-*-pe*, mips*-*-irix* [v4 and earlier])
+ (mips*-*-lnews*, mips*-*-riscos*): Add gas and ld to noconfigdirs.
+ * configure: Regenerate.
+
2013-06-01 George Thomas <george.thomas@atmel.com>
* include/opcode/avr.h: Rename AVR_ISA_XCH to AVR_ISA_RMW. Remove
diff --git a/configure b/configure
index e161cada19..9da645bb6b 100755
--- a/configure
+++ b/configure
@@ -3762,10 +3762,14 @@ case "${target}" in
noconfigdirs="$noconfigdirs gprof target-libgloss"
;;
mips*-*-bsd*)
- noconfigdirs="$noconfigdirs gprof target-libgloss"
+ noconfigdirs="$noconfigdirs ld gas gprof target-libgloss"
;;
mips*-*-linux*)
;;
+ mips*-*-ultrix* | mips*-*-osf* | mips*-*-ecoff* | mips*-*-pe* \
+ | mips*-*-irix* | mips*-*-lnews* | mips*-*-riscos*)
+ noconfigdirs="$noconfigdirs ld gas gprof"
+ ;;
mips*-*-*)
noconfigdirs="$noconfigdirs gprof"
;;
diff --git a/configure.ac b/configure.ac
index bec489fc39..226239b77d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1101,10 +1101,14 @@ case "${target}" in
noconfigdirs="$noconfigdirs gprof target-libgloss"
;;
mips*-*-bsd*)
- noconfigdirs="$noconfigdirs gprof target-libgloss"
+ noconfigdirs="$noconfigdirs ld gas gprof target-libgloss"
;;
mips*-*-linux*)
;;
+ mips*-*-ultrix* | mips*-*-osf* | mips*-*-ecoff* | mips*-*-pe* \
+ | mips*-*-irix* | mips*-*-lnews* | mips*-*-riscos*)
+ noconfigdirs="$noconfigdirs ld gas gprof"
+ ;;
mips*-*-*)
noconfigdirs="$noconfigdirs gprof"
;;
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 983acfe54c..0ee28ae8f9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,33 @@
2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
+ * NEWS: Note removal of ECOFF support.
+ * doc/as.texinfo (--emulation): Update for the removal of MIPS ECOFF.
+ * Makefile.am (TARG_ENV_HFILES): Remove config/te-lnews.h.
+ (MULTI_CFILES): Remove config/e-mipsecoff.c.
+ * Makefile.in: Regenerate.
+ * configure.in: Remove MIPS ECOFF references.
+ (mips-sony-bsd*, mips-*-bsd*, mips-*-lnews*-ecoff, mips-*-*-ecoff):
+ Delete cases.
+ (mips-*-irix5*-*, mips*-*-linux*-*, mips*-*-freebsd*)
+ (mips*-*-kfreebsd*-gnu, mips-*-*-elf): Fold into...
+ (mips-*-*): ...this single case.
+ (mipsbecoff, mipslecoff, mipsecoff): Remove emulations. Expect
+ MIPS emulations to be e-mipself*.
+ * configure: Regenerate.
+ * configure.tgt (mips-sony-bsd*, mips-*-ultrix*, mips-*-osf*)
+ (mips-*-ecoff*, mips-*-pe*, mips-*-irix*, ips-*-lnews*, mips-*-riscos*)
+ (mips-*-sysv*): Remove coff and ecoff cases.
+ * as.c (mipsbecoff, mipslecoff, mipsecoff): Remove.
+ * ecoff.c: Remove reference to MIPS ECOFF.
+ * config/e-mipsecoff.c, config/te-lnews.h: Delete files.
+ * config/tc-mips.c (ECOFF_LITTLE_FORMAT): Delete.
+ (RDATA_SECTION_NAME, mips_target_form): Remove COFF and ECOFF cases.
+ (mips_hi_fixup): Tweak comment.
+ (append_insn): Require a howto.
+ (mips_after_parse_args): Remove OBJ_MAYBE_ECOFF code.
+
+2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
+
* doc/as.texinfo: Use MIPS rather than @sc{mips} throughout.
Use "CPU" instead of "cpu".
* doc/c-mips.texi: Likewise.
diff --git a/gas/Makefile.am b/gas/Makefile.am
index 5ed9d2a7f4..b85755d3cd 100644
--- a/gas/Makefile.am
+++ b/gas/Makefile.am
@@ -309,7 +309,6 @@ TARG_ENV_HFILES = \
config/te-i386aix.h \
config/te-ia64aix.h \
config/te-interix.h \
- config/te-lnews.h \
config/te-lynx.h \
config/te-mach.h \
config/te-macos.h \
@@ -340,7 +339,6 @@ MULTI_CFILES = \
config/e-i386aout.c \
config/e-i386coff.c \
config/e-i386elf.c \
- config/e-mipsecoff.c \
config/e-mipself.c
CONFIG_ATOF_CFILES = \
diff --git a/gas/Makefile.in b/gas/Makefile.in
index c71e2844a1..89ce4f53cb 100644
--- a/gas/Makefile.in
+++ b/gas/Makefile.in
@@ -578,7 +578,6 @@ TARG_ENV_HFILES = \
config/te-i386aix.h \
config/te-ia64aix.h \
config/te-interix.h \
- config/te-lnews.h \
config/te-lynx.h \
config/te-mach.h \
config/te-macos.h \
@@ -609,7 +608,6 @@ MULTI_CFILES = \
config/e-i386aout.c \
config/e-i386coff.c \
config/e-i386elf.c \
- config/e-mipsecoff.c \
config/e-mipself.c
CONFIG_ATOF_CFILES = \
@@ -781,7 +779,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-i386aout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-i386coff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-i386elf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-mipsecoff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e-mipself.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecoff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ehopt.Po@am__quote@
@@ -2129,20 +2126,6 @@ e-i386elf.obj: config/e-i386elf.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o e-i386elf.obj `if test -f 'config/e-i386elf.c'; then $(CYGPATH_W) 'config/e-i386elf.c'; else $(CYGPATH_W) '$(srcdir)/config/e-i386elf.c'; fi`
-e-mipsecoff.o: config/e-mipsecoff.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT e-mipsecoff.o -MD -MP -MF $(DEPDIR)/e-mipsecoff.Tpo -c -o e-mipsecoff.o `test -f 'config/e-mipsecoff.c' || echo '$(srcdir)/'`config/e-mipsecoff.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/e-mipsecoff.Tpo $(DEPDIR)/e-mipsecoff.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/e-mipsecoff.c' object='e-mipsecoff.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o e-mipsecoff.o `test -f 'config/e-mipsecoff.c' || echo '$(srcdir)/'`config/e-mipsecoff.c
-
-e-mipsecoff.obj: config/e-mipsecoff.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT e-mipsecoff.obj -MD -MP -MF $(DEPDIR)/e-mipsecoff.Tpo -c -o e-mipsecoff.obj `if test -f 'config/e-mipsecoff.c'; then $(CYGPATH_W) 'config/e-mipsecoff.c'; else $(CYGPATH_W) '$(srcdir)/config/e-mipsecoff.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/e-mipsecoff.Tpo $(DEPDIR)/e-mipsecoff.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/e-mipsecoff.c' object='e-mipsecoff.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o e-mipsecoff.obj `if test -f 'config/e-mipsecoff.c'; then $(CYGPATH_W) 'config/e-mipsecoff.c'; else $(CYGPATH_W) '$(srcdir)/config/e-mipsecoff.c'; fi`
-
e-mipself.o: config/e-mipself.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT e-mipself.o -MD -MP -MF $(DEPDIR)/e-mipself.Tpo -c -o e-mipself.o `test -f 'config/e-mipself.c' || echo '$(srcdir)/'`config/e-mipself.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/e-mipself.Tpo $(DEPDIR)/e-mipself.Po
diff --git a/gas/NEWS b/gas/NEWS
index 29b0fdf978..5ff5e1a7eb 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -11,6 +11,8 @@
* Add support for the v850e3v5.
+* Remove assembler support for MIPS ECOFF targets.
+
Changes in 2.23:
* Add support for the 64-bit ARM architecture: AArch64.
diff --git a/gas/as.c b/gas/as.c
index 1b1d34e3cb..f198043f15 100644
--- a/gas/as.c
+++ b/gas/as.c
@@ -132,7 +132,6 @@ static int flag_macro_alternate;
#define EMULATION_ENVIRON "AS_EMULATION"
extern struct emulation mipsbelf, mipslelf, mipself;
-extern struct emulation mipsbecoff, mipslecoff, mipsecoff;
extern struct emulation i386coff, i386elf, i386aout;
extern struct emulation crisaout, criself;
diff --git a/gas/config/e-mipsecoff.c b/gas/config/e-mipsecoff.c
deleted file mode 100644
index 026bf775f1..0000000000
--- a/gas/config/e-mipsecoff.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2007 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
- GAS 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 3, or (at your option)
- any later version.
-
- GAS 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 GAS; see the file COPYING. If not, write to the Free
- Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
- 02110-1301, USA. */
-
-#include "as.h"
-#include "emul.h"
-
-static const char *mipsecoff_bfd_name (void);
-
-static const char *
-mipsecoff_bfd_name (void)
-{
- abort ();
- return NULL;
-}
-
-#define emul_bfd_name mipsecoff_bfd_name
-#define emul_format &ecoff_format_ops
-
-#define emul_name "mipsbecoff"
-#define emul_struct_name mipsbecoff
-#define emul_default_endian 1
-#include "emul-target.h"
-
-#undef emul_name
-#undef emul_struct_name
-#undef emul_default_endian
-
-#define emul_name "mipslecoff"
-#define emul_struct_name mipslecoff
-#define emul_default_endian 0
-#include "emul-target.h"
-
-#undef emul_name
-#undef emul_struct_name
-#undef emul_default_endian
-
-#define emul_name "mipsecoff"
-#define emul_struct_name mipsecoff
-#define emul_default_endian 2
-#include "emul-target.h"
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index df1a5a015e..90886d597c 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -106,22 +106,10 @@ static char *mips_regmask_frag;
#define AT mips_opts.at
-/* Allow override of standard little-endian ECOFF format. */
-
-#ifndef ECOFF_LITTLE_FORMAT
-#define ECOFF_LITTLE_FORMAT "ecoff-littlemips"
-#endif
-
extern int target_big_endian;
/* The name of the readonly data section. */
-#define RDATA_SECTION_NAME (OUTPUT_FLAVOR == bfd_target_ecoff_flavour \
- ? ".rdata" \
- : OUTPUT_FLAVOR == bfd_target_coff_flavour \
- ? ".rdata" \
- : OUTPUT_FLAVOR == bfd_target_elf_flavour \
- ? ".rodata" \
- : (abort (), ""))
+#define RDATA_SECTION_NAME ".rodata"
/* Ways in which an instruction can be "appended" to the output. */
enum append_method {
@@ -718,12 +706,12 @@ static int prev_nop_frag_required;
/* The number of instructions we've seen since prev_nop_frag. */
static int prev_nop_frag_since;
-/* For ECOFF and ELF, relocations against symbols are done in two
- parts, with a HI relocation and a LO relocation. Each relocation
- has only 16 bits of space to store an addend. This means that in
- order for the linker to handle carries correctly, it must be able
- to locate both the HI and the LO relocation. This means that the
- relocations must appear in order in the relocation table.
+/* Relocations against symbols are sometimes done in two parts, with a HI
+ relocation and a LO relocation. Each relocation has only 16 bits of
+ space to store an addend. This means that in order for the linker to
+ handle carries correctly, it must be able to locate both the HI and
+ the LO relocation. This means that the relocations must appear in
+ order in the relocation table.
In order to implement this, we keep track of each unmatched HI
relocation. We then sort them so that they immediately precede the
@@ -1860,10 +1848,6 @@ mips_target_format (void)
{
switch (OUTPUT_FLAVOR)
{
- case bfd_target_ecoff_flavour:
- return target_big_endian ? "ecoff-bigmips" : ECOFF_LITTLE_FORMAT;
- case bfd_target_coff_flavour:
- return "pe-mips";
case bfd_target_elf_flavour:
#ifdef TE_VXWORKS
if (!HAVE_64BIT_OBJECTS && !HAVE_NEWABI)
@@ -4854,16 +4838,8 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
/* In a compound relocation, it is the final (outermost)
operator that determines the relocated field. */
howto = howto0 = bfd_reloc_type_lookup (stdoutput, final_type[i - 1]);
-
- if (howto == NULL)
- {
- /* To reproduce this failure try assembling gas/testsuites/
- gas/mips/mips16-intermix.s with a mips-ecoff targeted
- assembler. */
- as_bad (_("Unsupported MIPS relocation number %d"),
- final_type[i - 1]);
- howto = bfd_reloc_type_lookup (stdoutput, BFD_RELOC_16);
- }
+ if (!howto)
+ abort ();
if (i > 1)
howto0 = bfd_reloc_type_lookup (stdoutput, final_type[0]);
@@ -15629,14 +15605,7 @@ mips_after_parse_args (void)
mips_check_isa_supports_ases ();
if (mips_flag_mdebug < 0)
- {
-#ifdef OBJ_MAYBE_ECOFF
- if (OUTPUT_FLAVOR == bfd_target_ecoff_flavour)
- mips_flag_mdebug = 1;
- else
-#endif /* OBJ_MAYBE_ECOFF */
- mips_flag_mdebug = 0;
- }
+ mips_flag_mdebug = 0;
}
void
diff --git a/gas/config/te-lnews.h b/gas/config/te-lnews.h
deleted file mode 100644
index f8dfbb51d0..0000000000
--- a/gas/config/te-lnews.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2007 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
- GAS 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 3,
- or (at your option) any later version.
-
- GAS 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 GAS; see the file COPYING. If not, write to the Free
- Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
- 02110-1301, USA. */
-
-/* te-lnews.h -- little-endian NEWS emulation. */
-
-#define ECOFF_LITTLE_FORMAT "ecoff-biglittlemips"
-
-#include "obj-format.h"
diff --git a/gas/configure b/gas/configure
index 6f9f5ba5ba..9cb67e3385 100755
--- a/gas/configure
+++ b/gas/configure
@@ -11976,12 +11976,6 @@ $as_echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and
microblaze*)
;;
- mips-sony-bsd*)
- ;;
- mips-*-bsd*)
- as_fn_error "Unknown vendor for mips-bsd configuration." "$LINENO" 5
- ;;
-
ppc-*-aix[5-9].*)
$as_echo "#define AIX_WEAK_SUPPORT 1" >>confdefs.h
@@ -12063,7 +12057,6 @@ _ACEOF
esac
# See whether it's appropriate to set E_MIPS_ABI_O32 for o32
# binaries. It's a GNU extension that some OSes don't understand.
- # The value only matters on ELF targets.
case ${target} in
*-*-irix*)
use_e_mips_abi_o32=0
@@ -12257,22 +12250,10 @@ _ACEOF
# From target name and format, produce a list of supported emulations.
case ${generic_target}-${fmt} in
- mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
- mips*-*-linux*-* | mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
- case "$endian" in
- big) emulation="mipsbelf mipslelf mipself" ;;
- *) emulation="mipslelf mipsbelf mipself" ;;
- esac ;;
- mips-*-lnews*-ecoff) ;;
- mips-*-*-ecoff) case "$endian" in
- big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
- *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
- esac ;;
- mips-*-*-elf) case "$endian" in
+ mips-*-*-*) case "$endian" in
big) emulation="mipsbelf mipslelf mipself" ;;
*) emulation="mipslelf mipsbelf mipself" ;;
esac ;;
- mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
# i386-pc-pe-coff != i386-pc-coff.
i386-*-pe-coff) ;;
# Uncommenting the next line will turn on support for i386 AOUT
@@ -12392,7 +12373,7 @@ esac
#
# And then there's "--enable-targets=all"....
#
-# For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
+# For now, just always do it for MIPS ELF configurations. Sigh.
formats="${obj_format}"
emfiles=""
@@ -12415,8 +12396,6 @@ for em in . $emulations ; do
.) continue ;;
mipsbelf | mipslelf | mipself)
fmt=elf file=mipself ;;
- mipsbecoff | mipslecoff | mipsecoff)
- fmt=ecoff file=mipsecoff ;;
*coff)
fmt=coff file=$em ;;
*aout)
@@ -12485,11 +12464,11 @@ $as_echo "#define OBJ_MAYBE_SOM 1" >>confdefs.h
fi
if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
DEFAULT_EMULATION=`set . $emulations ; echo $2`
- # e-mips* has more than one emulation per file, e-i386* has just one at the
+ # e-mipself has more than one emulation per file, e-i386* has just one at the
# moment. If only one emulation is specified, then don't define
# USE_EMULATIONS or include any of the e-files as they will only be bloat.
case "${obj_format}${emfiles}" in
- multi* | *mips*)
+ multi* | *mipself*)
extra_objects="$extra_objects $emfiles"
$as_echo "#define USE_EMULATIONS 1" >>confdefs.h
diff --git a/gas/configure.in b/gas/configure.in
index 37f6d5f5e7..121fcfcba9 100644
--- a/gas/configure.in
+++ b/gas/configure.in
@@ -164,12 +164,6 @@ for this_target in $target $canon_targets ; do
microblaze*)
;;
- mips-sony-bsd*)
- ;;
- mips-*-bsd*)
- AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.)
- ;;
-
changequote(,)dnl
ppc-*-aix[5-9].*)
changequote([,])dnl
@@ -252,7 +246,6 @@ changequote([,])dnl
esac
# See whether it's appropriate to set E_MIPS_ABI_O32 for o32
# binaries. It's a GNU extension that some OSes don't understand.
- # The value only matters on ELF targets.
case ${target} in
*-*-irix*)
use_e_mips_abi_o32=0
@@ -430,22 +423,10 @@ changequote([,])dnl
# From target name and format, produce a list of supported emulations.
case ${generic_target}-${fmt} in
- mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
- mips*-*-linux*-* | mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
- case "$endian" in
- big) emulation="mipsbelf mipslelf mipself" ;;
- *) emulation="mipslelf mipsbelf mipself" ;;
- esac ;;
- mips-*-lnews*-ecoff) ;;
- mips-*-*-ecoff) case "$endian" in
- big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
- *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
- esac ;;
- mips-*-*-elf) case "$endian" in
+ mips-*-*-*) case "$endian" in
big) emulation="mipsbelf mipslelf mipself" ;;
*) emulation="mipslelf mipsbelf mipself" ;;
esac ;;
- mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
# i386-pc-pe-coff != i386-pc-coff.
i386-*-pe-coff) ;;
# Uncommenting the next line will turn on support for i386 AOUT
@@ -558,7 +539,7 @@ esac
#
# And then there's "--enable-targets=all"....
#
-# For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
+# For now, just always do it for MIPS ELF configurations. Sigh.
formats="${obj_format}"
emfiles=""
@@ -569,8 +550,6 @@ for em in . $emulations ; do
.) continue ;;
mipsbelf | mipslelf | mipself)
fmt=elf file=mipself ;;
- mipsbecoff | mipslecoff | mipsecoff)
- fmt=ecoff file=mipsecoff ;;
*coff)
fmt=coff file=$em ;;
*aout)
@@ -601,11 +580,11 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
fi
if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
DEFAULT_EMULATION=`set . $emulations ; echo $2`
- # e-mips* has more than one emulation per file, e-i386* has just one at the
+ # e-mipself has more than one emulation per file, e-i386* has just one at the
# moment. If only one emulation is specified, then don't define
# USE_EMULATIONS or include any of the e-files as they will only be bloat.
case "${obj_format}${emfiles}" in
- multi* | *mips*)
+ multi* | *mipself*)
extra_objects="$extra_objects $emfiles"
AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
esac
diff --git a/gas/configure.tgt b/gas/configure.tgt
index f416149166..77c1d9b592 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -318,23 +318,13 @@ case ${generic_target} in
microblaze-*-*) fmt=elf ;;
- # don't change em like *-*-bsd does
- mips-sony-bsd*) fmt=ecoff ;;
- mips-*-ultrix*) fmt=ecoff endian=little ;;
- mips-*-osf*) fmt=ecoff endian=little ;;
- mips-*-ecoff*) fmt=ecoff ;;
- mips-*-pe*) fmt=coff endian=little em=pe ;;
mips-*-irix6*) fmt=elf em=irix ;;
mips-*-irix5*) fmt=elf em=irix ;;
- mips-*-irix*) fmt=ecoff em=irix ;;
- mips-*-lnews*) fmt=ecoff em=lnews ;;
- mips-*-riscos*) fmt=ecoff ;;
mips*-*-linux*) fmt=elf em=tmips ;;
mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
fmt=elf em=freebsd ;;
mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;;
mips*-sde-elf* | mips*-mti-elf*) fmt=elf em=tmips ;;
- mips-*-sysv*) fmt=ecoff ;;
mips-*-elf* | mips-*-rtems*) fmt=elf ;;
mips-*-netbsd*) fmt=elf em=tmips ;;
mips-*-openbsd*) fmt=elf em=tmips ;;
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 9b1b9dd893..83e35d11a6 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -1357,28 +1357,16 @@ out-of-range branches to produce an error.
@cindex emulation
@item --emulation=@var{name}
-This option causes @command{@value{AS}} to emulate @command{@value{AS}} configured
-for some other target, in all respects, including output format (choosing
-between ELF and ECOFF only), handling of pseudo-opcodes which may generate
-debugging information or store symbol table information, and default
-endianness. The available configuration names are: @samp{mipsecoff},
-@samp{mipself}, @samp{mipslecoff}, @samp{mipsbecoff}, @samp{mipslelf},
-@samp{mipsbelf}. The first two do not alter the default endianness from that
-of the primary target for which the assembler was configured; the others change
-the default to little- or big-endian as indicated by the @samp{b} or @samp{l}
-in the name. Using @samp{-EB} or @samp{-EL} will override the endianness
-selection in any case.
-
-This option is currently supported only when the primary target
-@command{@value{AS}} is configured for is a MIPS ELF or ECOFF target.
-Furthermore, the primary target or others specified with
-@samp{--enable-targets=@dots{}} at configuration time must include support for
-the other format, if both are to be available. For example, the Irix 5
-configuration includes support for both.
-
-Eventually, this option will support more configurations, with more
-fine-grained control over the assembler's behavior, and will be supported for
-more processors.
+This option was formerly used to switch between ELF and ECOFF output
+on targets like IRIX 5 that supported both. MIPS ECOFF support was
+removed in GAS 2.24, so the option now serves little purpose.
+It is retained for backwards compatibility.
+
+The available configuration names are: @samp{mipself}, @samp{mipslelf} and
+@samp{mipsbelf}. Choosing @samp{mipself} now has no effect, since the output
+is always ELF. @samp{mipslelf} and @samp{mipsbelf} select little- and
+big-endian output respectively, but @samp{-EL} and @samp{-EB} are now the
+preferred options instead.
@item -nocpp
@command{@value{AS}} ignores this option. It is accepted for compatibility with
diff --git a/gas/ecoff.c b/gas/ecoff.c
index e8c929abd3..821b02ce7d 100644
--- a/gas/ecoff.c
+++ b/gas/ecoff.c
@@ -27,8 +27,7 @@
#include "as.h"
/* This file is compiled conditionally for those targets which use
- ECOFF debugging information (e.g., MIPS ECOFF, MIPS ELF, Alpha
- ECOFF). */
+ ECOFF debugging information (e.g., MIPS ELF, Alpha ECOFF). */
#include "ecoff.h"
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 26ef7c4d85..13fb6cd935 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gas/all/gas.exp: Remove reference to mips-ecoff.
+ * gas/mips/branch-misc-1.d, gas/mips/branch-misc-2.d,
+ gas/mips/branch-misc-2-64.d, gas/mips/branch-misc-2pic.d,
+ gas/mips/branch-misc-2pic-64.d, gas/mips/branch-swap.d: Remove
+ skips for mips-*-ecoff.
+
2013-06-20 Richard Sandiford <rdsandiford@googlemail.com>
* gas/mips/ase-errors-1.s, gas/mips/ase-errors-1.l,
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index f604ac9430..35bcd9594e 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -106,7 +106,7 @@ case $target_triplet in {
}
}
-# aout relocs are often weird, so is mep and mips-ecoff. don't bother testing
+# aout relocs are often weird, so is mep. don't bother testing
# som doesn't use a .text section
# mmix doesn't like .L1:
# ti addresses aren't octets.
@@ -117,7 +117,6 @@ if { ![is_aout_format] } {
}
{ hppa*-*-hpux* } { }
{ mep-*-* } { }
- { mips*-*-ecoff* } { }
{ mmix-*-* } { }
{ tic30*-*-* } { }
{ tic4x*-*-* } { }
diff --git a/gas/testsuite/gas/mips/branch-misc-1.d b/gas/testsuite/gas/mips/branch-misc-1.d
index 245f0296ac..1c5f26bd1c 100644
--- a/gas/testsuite/gas/mips/branch-misc-1.d
+++ b/gas/testsuite/gas/mips/branch-misc-1.d
@@ -1,4 +1,3 @@
-#skip: mips-*-ecoff
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch-misc-1
#as: -32
diff --git a/gas/testsuite/gas/mips/branch-misc-2-64.d b/gas/testsuite/gas/mips/branch-misc-2-64.d
index b540b8a5d4..3b7791a01a 100644
--- a/gas/testsuite/gas/mips/branch-misc-2-64.d
+++ b/gas/testsuite/gas/mips/branch-misc-2-64.d
@@ -1,4 +1,3 @@
-#skip: mips-*-ecoff
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch-misc-2-64
#source: branch-misc-2.s
diff --git a/gas/testsuite/gas/mips/branch-misc-2.d b/gas/testsuite/gas/mips/branch-misc-2.d
index 205d68542f..ba991656e4 100644
--- a/gas/testsuite/gas/mips/branch-misc-2.d
+++ b/gas/testsuite/gas/mips/branch-misc-2.d
@@ -1,4 +1,3 @@
-#skip: mips-*-ecoff
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch-misc-2
#as: -32 -non_shared
diff --git a/gas/testsuite/gas/mips/branch-misc-2pic-64.d b/gas/testsuite/gas/mips/branch-misc-2pic-64.d
index 3cb292da23..7cef9e96c2 100644
--- a/gas/testsuite/gas/mips/branch-misc-2pic-64.d
+++ b/gas/testsuite/gas/mips/branch-misc-2pic-64.d
@@ -1,4 +1,3 @@
-#skip: mips-*-ecoff
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch-misc-2pic-64
#source: branch-misc-2.s
diff --git a/gas/testsuite/gas/mips/branch-misc-2pic.d b/gas/testsuite/gas/mips/branch-misc-2pic.d
index bc604311a9..a8e93309d4 100644
--- a/gas/testsuite/gas/mips/branch-misc-2pic.d
+++ b/gas/testsuite/gas/mips/branch-misc-2pic.d
@@ -1,4 +1,3 @@
-#skip: mips-*-ecoff
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS branch-misc-2pic
#source: branch-misc-2.s
diff --git a/gas/testsuite/gas/mips/branch-swap.d b/gas/testsuite/gas/mips/branch-swap.d
index 0825982c62..273dee99f2 100644
--- a/gas/testsuite/gas/mips/branch-swap.d
+++ b/gas/testsuite/gas/mips/branch-swap.d
@@ -1,4 +1,3 @@
-#skip: mips-*-ecoff
#as: -march=mips2 -32
#objdump: -dr
#name: MIPS branch-swap
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 03a8d6d825..1fa836ce02 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,24 @@
+2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * NEWS: Document the removal of MIPS ECOFF targets.
+ * ld.texinfo (--gpsize=@var{value}): Use MIPS ELF rather than
+ MIPS ECOFF as an example of a target that supports small data.
+ * ldmain.c (g_switch_value): Likewise.
+ * configure.tgt (mips*-*-pe, mips*-dec-ultrix*, mips*-dec-osf*)
+ (mips*-sgi-irix* [v4 and earlier], mips*el-*-ecoff*, mips*-*-ecoff*)
+ (mips*-*-bsd*, mips*-*-lnews*): Remove cases.
+ * Makefile.am (ALL_EMULATION_SOURCES): Remove emipsbig.c, emipsbsd.c,
+ emipsidt.c, emipsidtl.c, emipslit.c, emipslnews.c and emipspe.c.
+ (emipsbig.c, emipsbsd.c, emipsidt.c, emipsidtl.c, emipslit.c)
+ (emipslnews.c, emipspe.c): Delete rules.
+ * Makefile.in: Regenerate.
+ * emulparams/mipsbig.sh, emulparams/mipsbsd.sh, emulparams/mipsidt.sh,
+ emulparams/mipsidtl.sh, emulparams/mipslit.sh, emulparams/mipslnews.sh,
+ emulparams/mipspe.sh, emultempl/mipsecoff.em: Delete.
+ * emultempl/m68kcoff.em: Update comment to say that MIPS ECOFF support
+ has now been removed.
+ * emultempl/pe.em: Remove TARGET_IS_mipspe checks.
+
2013-06-19 Will Newton <will.newton@linaro.org>
* emulparams/aarch64elf.sh: Remove IREL_IN_PLT.
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 0eba8a9d3e..4766510a52 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -356,13 +356,6 @@ ALL_EMULATION_SOURCES = \
em68kpsos.c \
em88kbcs.c \
emcorepe.c \
- emipsbig.c \
- emipsbsd.c \
- emipsidt.c \
- emipsidtl.c \
- emipslit.c \
- emipslnews.c \
- emipspe.c \
emn10200.c \
emn10300.c \
emsp430x110.c \
@@ -1508,29 +1501,6 @@ em88kbcs.c: $(srcdir)/emulparams/m88kbcs.sh \
emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} mcorepe "$(tdir_mcorepe)"
-emipsbig.c: $(srcdir)/emulparams/mipsbig.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsbig "$(tdir_mipsbig)"
-emipsbsd.c: $(srcdir)/emulparams/mipsbsd.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/scripttempl/mipsbsd.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsbsd "$(tdir_mipsbsd)"
-emipsidt.c: $(srcdir)/emulparams/mipsidt.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/emultempl/mipsecoff.em $(srcdir)/scripttempl/mips.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsidt "$(tdir_mipsidt)"
-emipsidtl.c: $(srcdir)/emulparams/mipsidtl.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/emultempl/mipsecoff.em $(srcdir)/scripttempl/mips.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsidtl "$(tdir_mipsidtl)"
-emipslit.c: $(srcdir)/emulparams/mipslit.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipslit "$(tdir_mipslit)"
-emipslnews.c: $(srcdir)/emulparams/mipslnews.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipslnews "$(tdir_mipslnews)"
-emipspe.c: $(srcdir)/emulparams/mipspe.sh $(srcdir)/emultempl/pe.em \
- $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipspe "$(tdir_mipspe)"
emn10200.c: $(srcdir)/emulparams/mn10200.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 9140c73500..c53df132b8 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -664,13 +664,6 @@ ALL_EMULATION_SOURCES = \
em68kpsos.c \
em88kbcs.c \
emcorepe.c \
- emipsbig.c \
- emipsbsd.c \
- emipsidt.c \
- emipsidtl.c \
- emipslit.c \
- emipslnews.c \
- emipspe.c \
emn10200.c \
emn10300.c \
emsp430x110.c \
@@ -1334,13 +1327,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em68kpsos.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em88kbcs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emcorepe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipsbig.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipsbsd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipsidt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipsidtl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipslit.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipslnews.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipspe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emmo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emn10200.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emn10300.Po@am__quote@
@@ -2995,29 +2981,6 @@ em88kbcs.c: $(srcdir)/emulparams/m88kbcs.sh \
emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} mcorepe "$(tdir_mcorepe)"
-emipsbig.c: $(srcdir)/emulparams/mipsbig.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsbig "$(tdir_mipsbig)"
-emipsbsd.c: $(srcdir)/emulparams/mipsbsd.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/scripttempl/mipsbsd.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsbsd "$(tdir_mipsbsd)"
-emipsidt.c: $(srcdir)/emulparams/mipsidt.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/emultempl/mipsecoff.em $(srcdir)/scripttempl/mips.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsidt "$(tdir_mipsidt)"
-emipsidtl.c: $(srcdir)/emulparams/mipsidtl.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/emultempl/mipsecoff.em $(srcdir)/scripttempl/mips.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} mipsidtl "$(tdir_mipsidtl)"
-emipslit.c: $(srcdir)/emulparams/mipslit.sh $(srcdir)/emultempl/generic.em \
- $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipslit "$(tdir_mipslit)"
-emipslnews.c: $(srcdir)/emulparams/mipslnews.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/mips.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipslnews "$(tdir_mipslnews)"
-emipspe.c: $(srcdir)/emulparams/mipspe.sh $(srcdir)/emultempl/pe.em \
- $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mipspe "$(tdir_mipspe)"
emn10200.c: $(srcdir)/emulparams/mn10200.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
diff --git a/ld/NEWS b/ld/NEWS
index fa11d2d9f2..34b494afb6 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -10,6 +10,8 @@
* --enable-new-dtags no longer generates old dtags in addition to new dtags.
+* Remove linker support for MIPS ECOFF targets.
+
Changes in 2.23:
* Enable compressed debug section feature for x86/x86_64 pe-coff.
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 56945808c9..e893a4f637 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -434,24 +434,16 @@ microblazeel*) targ_emul=elf32microblazeel
microblaze*) targ_emul=elf32microblaze
targ_extra_emuls=elf32microblazeel
;;
-mips*-*-pe) targ_emul=mipspe ;
- targ_extra_ofiles="deffilep.o pe-dll.o" ;;
-mips*-dec-ultrix*) targ_emul=mipslit ;;
-mips*-dec-osf*) targ_emul=mipslit ;;
mips*-sgi-irix5*) targ_emul=elf32bsmip ;;
mips*-sgi-irix6*) targ_emul=elf32bmipn32
targ_extra_emuls="elf32bsmip elf64bmip"
targ_extra_libpath=$targ_extra_emuls ;;
-mips*-sgi-irix*) targ_emul=mipsbig ;;
-mips*el-*-ecoff*) targ_emul=mipsidtl ;;
-mips*-*-ecoff*) targ_emul=mipsidt ;;
mips*el-*-netbsd*) targ_emul=elf32ltsmip
targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
;;
mips*-*-netbsd*) targ_emul=elf32btsmip
targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
;;
-mips*-*-bsd*) targ_emul=mipsbig ;;
mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;;
mips*vr4300-*-elf*) targ_emul=elf32b4300 ;;
mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;;
@@ -505,7 +497,6 @@ mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
targ_emul=elf32btsmip_fbsd
targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmipn32_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
targ_extra_libpath=$targ_extra_emuls ;;
-mips*-*-lnews*) targ_emul=mipslnews ;;
mips*-*-sysv4*) targ_emul=elf32btsmip
;;
mmix-*-*) targ_emul=mmo
diff --git a/ld/emulparams/mipsbig.sh b/ld/emulparams/mipsbig.sh
deleted file mode 100644
index 9fe29538f4..0000000000
--- a/ld/emulparams/mipsbig.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-SCRIPT_NAME=mips
-OUTPUT_FORMAT="ecoff-bigmips"
-BIG_OUTPUT_FORMAT="ecoff-bigmips"
-LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
-TARGET_PAGE_SIZE=0x1000000
-ARCH=mips
diff --git a/ld/emulparams/mipsbsd.sh b/ld/emulparams/mipsbsd.sh
deleted file mode 100644
index e8fb35beca..0000000000
--- a/ld/emulparams/mipsbsd.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-SCRIPT_NAME=mipsbsd
-OUTPUT_FORMAT="a.out-mips-little"
-BIG_OUTPUT_FORMAT="a.out-mips-big"
-LITTLE_OUTPUT_FORMAT="a.out-mips-little"
-TEXT_START_ADDR=0x1020
-TARGET_PAGE_SIZE=4096
-ARCH=mips
diff --git a/ld/emulparams/mipsidt.sh b/ld/emulparams/mipsidt.sh
deleted file mode 100644
index f381267679..0000000000
--- a/ld/emulparams/mipsidt.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-SCRIPT_NAME=mips
-OUTPUT_FORMAT="ecoff-bigmips"
-BIG_OUTPUT_FORMAT="ecoff-bigmips"
-LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
-TARGET_PAGE_SIZE=0x1000000
-ARCH=mips
-ENTRY=start
-TEXT_START_ADDR=0xa0012000
-DATA_ADDR=.
-TEMPLATE_NAME=generic
-EXTRA_EM_FILE=mipsecoff
-EMBEDDED=yes
diff --git a/ld/emulparams/mipsidtl.sh b/ld/emulparams/mipsidtl.sh
deleted file mode 100644
index 52447ff09f..0000000000
--- a/ld/emulparams/mipsidtl.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-SCRIPT_NAME=mips
-OUTPUT_FORMAT="ecoff-littlemips"
-BIG_OUTPUT_FORMAT="ecoff-bigmips"
-LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
-TARGET_PAGE_SIZE=0x1000000
-ARCH=mips
-ENTRY=start
-TEXT_START_ADDR=0xa0012000
-DATA_ADDR=.
-TEMPLATE_NAME=generic
-EXTRA_EM_FILE=mipsecoff
-EMBEDDED=yes
diff --git a/ld/emulparams/mipslit.sh b/ld/emulparams/mipslit.sh
deleted file mode 100644
index acb234464b..0000000000
--- a/ld/emulparams/mipslit.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-SCRIPT_NAME=mips
-OUTPUT_FORMAT="ecoff-littlemips"
-BIG_OUTPUT_FORMAT="ecoff-bigmips"
-LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
-TARGET_PAGE_SIZE=0x1000000
-ARCH=mips
diff --git a/ld/emulparams/mipslnews.sh b/ld/emulparams/mipslnews.sh
deleted file mode 100644
index d0bb91c1dc..0000000000
--- a/ld/emulparams/mipslnews.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-SCRIPT_NAME=mips
-OUTPUT_FORMAT="ecoff-littlemips"
-BIG_OUTPUT_FORMAT="ecoff-bigmips"
-LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
-TARGET_PAGE_SIZE=0x1000000
-ARCH=mips
-TEXT_START_ADDR=0x80080000
-DATA_ADDR=.
-EMBEDDED=yes
diff --git a/ld/emulparams/mipspe.sh b/ld/emulparams/mipspe.sh
deleted file mode 100644
index 95c4adb71a..0000000000
--- a/ld/emulparams/mipspe.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-ARCH=mips
-SCRIPT_NAME=pe
-OUTPUT_FORMAT="pei-mips"
-OUTPUT_ARCH="mips"
-RELOCATEABLE_OUTPUT_FORMAT="ecoff-littlemips"
-TEMPLATE_NAME=pe
-SUBSYSTEM=PE_DEF_SUBSYSTEM
-INITIAL_SYMBOL_CHAR=\"_\"
-TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emultempl/m68kcoff.em b/ld/emultempl/m68kcoff.em
index b09a22320d..f68866cf13 100644
--- a/ld/emultempl/m68kcoff.em
+++ b/ld/emultempl/m68kcoff.em
@@ -8,7 +8,7 @@ fragment <<EOF
Free Software Foundation, Inc.
Written by Michael Sokolov <msokolov@ivan.Harhan.ORG>, based on generic.em
by Steve Chamberlain <steve@cygnus.com>, embedded relocs code based on
- mipsecoff.em by Ian Lance Taylor <ian@cygnus.com>.
+ mipsecoff.em by Ian Lance Taylor <ian@cygnus.com> (now removed).
This file is part of the GNU Binutils.
diff --git a/ld/emultempl/mipsecoff.em b/ld/emultempl/mipsecoff.em
deleted file mode 100644
index 809229fd9e..0000000000
--- a/ld/emultempl/mipsecoff.em
+++ /dev/null
@@ -1,38 +0,0 @@
-# This shell script emits a C file. -*- C -*-
-# Copyright 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
-# Free Software Foundation, Inc.
-#
-# This file is part of the GNU Binutils.
-#
-# This program 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 3 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-# MA 02110-1301, USA.
-#
-
-if [ -z "$MACHINE" ]; then
- OUTPUT_ARCH=${ARCH}
-else
- OUTPUT_ARCH=${ARCH}:${MACHINE}
-fi
-fragment <<EOF
-static void
-gld${EMULATION_NAME}_before_parse (void)
-{
-#ifndef TARGET_ /* I.e., if not generic. */
- ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`);
-#endif /* not TARGET_ */
-}
-EOF
-
-LDEMUL_BEFORE_PARSE=gld${EMULATION_NAME}_before_parse
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 7a11396f12..f702f6037a 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -92,7 +92,6 @@ fragment <<EOF
#if defined(TARGET_IS_i386pe) \
|| defined(TARGET_IS_shpe) \
- || defined(TARGET_IS_mipspe) \
|| defined(TARGET_IS_armpe) \
|| defined(TARGET_IS_arm_epoc_pe) \
|| defined(TARGET_IS_arm_wince_pe)
@@ -1759,9 +1758,6 @@ gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUT
#ifdef TARGET_IS_shpe
pe_dll_id_target ("pei-shl");
#endif
-#ifdef TARGET_IS_mipspe
- pe_dll_id_target ("pei-mips");
-#endif
#ifdef TARGET_IS_armpe
pe_dll_id_target ("pei-arm-little");
#endif
@@ -1826,7 +1822,7 @@ gld_${EMULATION_NAME}_finish (void)
#ifdef DLL_SUPPORT
if (link_info.shared
-#if !defined(TARGET_IS_shpe) && !defined(TARGET_IS_mipspe)
+#if !defined(TARGET_IS_shpe)
|| (!link_info.relocatable && pe_def_file->num_exports != 0)
#endif
)
@@ -1835,7 +1831,7 @@ gld_${EMULATION_NAME}_finish (void)
if (pe_implib_filename)
pe_dll_generate_implib (pe_def_file, pe_implib_filename, &link_info);
}
-#if defined(TARGET_IS_shpe) || defined(TARGET_IS_mipspe)
+#if defined(TARGET_IS_shpe)
/* ARM doesn't need relocs. */
else
{
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index bbb31d74dc..471cee9092 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -619,7 +619,7 @@ Ignored. Provided for compatibility with other tools.
@itemx --gpsize=@var{value}
Set the maximum size of objects to be optimized using the GP register to
@var{size}. This is only meaningful for object file formats such as
-MIPS ECOFF which supports putting large and small objects into different
+MIPS ELF that support putting large and small objects into different
sections. This is ignored for other object file formats.
@cindex runtime library name
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 20d892010f..6a53667db1 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -80,7 +80,7 @@ const char *ld_sysroot;
char * ld_canon_sysroot;
int ld_canon_sysroot_len;
-/* Set by -G argument, for MIPS ECOFF target. */
+/* Set by -G argument, for targets like MIPS ELF. */
int g_switch_value = 8;
/* Nonzero means print names of input files as processed. */