From e8044f355dc90ccbeae994b920674502f9215053 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sat, 22 Jun 2013 16:44:16 +0000 Subject: [PATCH] * 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. gas/ * 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. gas/testsuite/ * 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. ld/ * 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. --- ChangeLog | 7 ++++ configure | 6 ++- configure.ac | 6 ++- gas/ChangeLog | 28 ++++++++++++++ gas/Makefile.am | 2 - gas/Makefile.in | 17 --------- gas/NEWS | 2 + gas/as.c | 1 - gas/config/e-mipsecoff.c | 56 ---------------------------- gas/config/tc-mips.c | 51 +++++-------------------- gas/config/te-lnews.h | 24 ------------ gas/configure | 29 ++------------ gas/configure.in | 29 ++------------ gas/configure.tgt | 10 ----- gas/doc/as.texinfo | 32 +++++----------- gas/ecoff.c | 3 +- gas/testsuite/ChangeLog | 8 ++++ gas/testsuite/gas/all/gas.exp | 3 +- gas/testsuite/gas/mips/branch-misc-1.d | 1 - gas/testsuite/gas/mips/branch-misc-2-64.d | 1 - gas/testsuite/gas/mips/branch-misc-2.d | 1 - gas/testsuite/gas/mips/branch-misc-2pic-64.d | 1 - gas/testsuite/gas/mips/branch-misc-2pic.d | 1 - gas/testsuite/gas/mips/branch-swap.d | 1 - ld/ChangeLog | 21 +++++++++++ ld/Makefile.am | 30 --------------- ld/Makefile.in | 37 ------------------ ld/NEWS | 2 + ld/configure.tgt | 9 ----- ld/emulparams/mipsbig.sh | 6 --- ld/emulparams/mipsbsd.sh | 7 ---- ld/emulparams/mipsidt.sh | 12 ------ ld/emulparams/mipsidtl.sh | 12 ------ ld/emulparams/mipslit.sh | 6 --- ld/emulparams/mipslnews.sh | 9 ----- ld/emulparams/mipspe.sh | 9 ----- ld/emultempl/m68kcoff.em | 2 +- ld/emultempl/mipsecoff.em | 38 ------------------- ld/emultempl/pe.em | 8 +--- ld/ld.texinfo | 2 +- ld/ldmain.c | 2 +- 41 files changed, 113 insertions(+), 419 deletions(-) delete mode 100644 gas/config/e-mipsecoff.c delete mode 100644 gas/config/te-lnews.h delete mode 100644 ld/emulparams/mipsbig.sh delete mode 100644 ld/emulparams/mipsbsd.sh delete mode 100644 ld/emulparams/mipsidt.sh delete mode 100644 ld/emulparams/mipsidtl.sh delete mode 100644 ld/emulparams/mipslit.sh delete mode 100644 ld/emulparams/mipslnews.sh delete mode 100644 ld/emulparams/mipspe.sh delete mode 100644 ld/emultempl/mipsecoff.em diff --git a/ChangeLog b/ChangeLog index ed3bc27..007f07b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2013-06-22 Richard Sandiford + + * 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 * include/opcode/avr.h: Rename AVR_ISA_XCH to AVR_ISA_RMW. Remove diff --git a/configure b/configure index e161cad..9da645b 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 bec489f..226239b 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 983acfe..0ee28ae 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,33 @@ 2013-06-22 Richard Sandiford + * 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 + * 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 5ed9d2a..b85755d 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 c71e284..89ce4f5 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 29b0fdf..5ff5e1a 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 1b1d34e..f198043 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 026bf77..0000000 --- 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 df1a5a0..90886d5 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 f8dfbb5..0000000 --- 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 6f9f5ba..9cb67e3 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 37f6d5f..121fcfc 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 f416149..77c1d9b 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 9b1b9dd..83e35d1 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 e8c929a..821b02c 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 26ef7c4..13fb6cd 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2013-06-22 Richard Sandiford + + * 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 * 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 f604ac9..35bcd95 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 245f029..1c5f26b 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 b540b8a..3b7791a 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 205d685..ba99165 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 3cb292d..7cef9e9 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 bc60431..a8e9330 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 0825982..273dee9 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 03a8d6d..1fa836c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,24 @@ +2013-06-22 Richard Sandiford + + * 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 * emulparams/aarch64elf.sh: Remove IREL_IN_PLT. diff --git a/ld/Makefile.am b/ld/Makefile.am index 0eba8a9..4766510 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 9140c73..c53df13 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 fa11d2d..34b494a 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 5694580..e893a4f 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 9fe2953..0000000 --- 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 e8fb35b..0000000 --- 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 f381267..0000000 --- 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 52447ff..0000000 --- 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 acb2344..0000000 --- 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 d0bb91c..0000000 --- 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 95c4adb..0000000 --- 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 b09a223..f68866c 100644 --- a/ld/emultempl/m68kcoff.em +++ b/ld/emultempl/m68kcoff.em @@ -8,7 +8,7 @@ fragment <, based on generic.em by Steve Chamberlain , embedded relocs code based on - mipsecoff.em by Ian Lance Taylor . + mipsecoff.em by Ian Lance Taylor (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 809229f..0000000 --- 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 <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 bbb31d7..471cee9 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 20d8920..6a53667 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. */ -- 2.7.4