diff options
37 files changed, 60 insertions, 394 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index efda071..9f81866 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,18 @@ 2018-04-16 Alan Modra <amodra@gmail.com> + * Makefile.am: Remove arm-epoc-pe support. + * coff-arm.c: Likewise. + * config.bfd: Likewise. + * configure.ac: Likewise. + * targets.c: Likewise. + * epoc-pe-arm.c: Delete. + * epoc-pei-arm.c: Delete. + * Makefile.in: Regenerate. + * configure: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2018-04-16 Alan Modra <amodra@gmail.com> + * Makefile.am: Remove sparc-aout and sparc-coff support. * config.bfd: Likewise. * configure.ac: Likewise. diff --git a/bfd/Makefile.am b/bfd/Makefile.am index 9ba5db0..d964055 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -357,8 +357,6 @@ BFD32_BACKENDS = \ elflink.lo \ elfxx-sparc.lo \ elfxx-tilegx.lo \ - epoc-pe-arm.lo \ - epoc-pei-arm.lo \ i386aout.lo \ i386bsd.lo \ i386dynix.lo \ @@ -508,8 +506,6 @@ BFD32_BACKENDS_CFILES = \ elflink.c \ elfxx-sparc.c \ elfxx-tilegx.c \ - epoc-pe-arm.c \ - epoc-pei-arm.c \ i386aout.c \ i386bsd.c \ i386dynix.c \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 37d02c3..5176a32 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -691,8 +691,6 @@ BFD32_BACKENDS = \ elflink.lo \ elfxx-sparc.lo \ elfxx-tilegx.lo \ - epoc-pe-arm.lo \ - epoc-pei-arm.lo \ i386aout.lo \ i386bsd.lo \ i386dynix.lo \ @@ -842,8 +840,6 @@ BFD32_BACKENDS_CFILES = \ elflink.c \ elfxx-sparc.c \ elfxx-tilegx.c \ - epoc-pe-arm.c \ - epoc-pei-arm.c \ i386aout.c \ i386bsd.c \ i386dynix.c \ @@ -1431,8 +1427,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-sparc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-tilegx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-x86.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoc-pe-arm.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoc-pei-arm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hpux-core.Plo@am__quote@ diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c index ca107b1..f0e3e30 100644 --- a/bfd/coff-arm.c +++ b/bfd/coff-arm.c @@ -1274,9 +1274,8 @@ coff_arm_relocate_section (bfd *output_bfd, continue; /* FIXME - it is not clear which targets need this next test and which do not. It is known that it is needed for the - VxWorks and EPOC-PE targets, but it is also known that it - was suppressed for other ARM targets. This ought to be - sorted out one day. */ + VxWorks targets but it is also known that it was suppressed + for other ARM targets. This ought to be sorted out one day. */ #ifdef ARM_COFF_BUGFIX /* We must not ignore the symbol value. If the symbol is within the same section, the relocation should have already diff --git a/bfd/config.bfd b/bfd/config.bfd index 23800c5..6f48ae1 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -57,7 +57,6 @@ case $targ in mips*-*-irix5* | mips*-*-irix6*) # Not obsolete ;; - arm-epoc-pe* | \ arm*-*-aout | \ arm*-*-coff | \ i[3-7]86-*-sco3.2v5*coff | \ @@ -108,6 +107,7 @@ case $targ in *-*-rtemscoff* | \ a29k-* | \ arm-*-oabi | \ + arm-epoc-pe* | \ h8300*-*-coff | \ h8500*-*-coff | \ hppa*-*-rtems* | \ @@ -383,12 +383,6 @@ case "${targ}" in arm-*-riscix*) targ_defvec=arm_aout_riscix_vec ;; - arm-epoc-pe*) - targ_defvec=arm_pe_epoc_le_vec - targ_selvecs="arm_pe_epoc_le_vec arm_pe_epoc_be_vec arm_pei_epoc_le_vec arm_pei_epoc_be_vec" - targ_underscore=no - targ_cflags=-DARM_COFF_BUGFIX - ;; arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*) targ_defvec=arm_pe_wince_le_vec targ_selvecs="arm_pe_wince_le_vec arm_pe_wince_be_vec arm_pei_wince_le_vec arm_pei_wince_be_vec" diff --git a/bfd/configure b/bfd/configure index dfe6ea1..1e1c26b 100755 --- a/bfd/configure +++ b/bfd/configure @@ -14361,14 +14361,10 @@ do arm_elf32_vxworks_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; - arm_pe_epoc_be_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; - arm_pe_epoc_le_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; - arm_pei_epoc_be_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; - arm_pei_epoc_le_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; arm_pei_wince_be_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; arm_pei_wince_le_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; arm_mach_o_vec) tb="$tb mach-o-arm.lo" ;; diff --git a/bfd/configure.ac b/bfd/configure.ac index dc7f84f..49252c7 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac @@ -438,14 +438,10 @@ do arm_elf32_vxworks_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; - arm_pe_epoc_be_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; - arm_pe_epoc_le_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; - arm_pei_epoc_be_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; - arm_pei_epoc_le_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; arm_pei_wince_be_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; arm_pei_wince_le_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; arm_mach_o_vec) tb="$tb mach-o-arm.lo" ;; diff --git a/bfd/epoc-pe-arm.c b/bfd/epoc-pe-arm.c deleted file mode 100644 index 60ff8a1..0000000 --- a/bfd/epoc-pe-arm.c +++ /dev/null @@ -1,38 +0,0 @@ -/* BFD back-end for ARM EPOC PE files. - Copyright (C) 1999-2018 Free Software Foundation, Inc. - - This file is part of BFD, the Binary File Descriptor library. - - 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. */ - -#define TARGET_UNDERSCORE 0 -#define USER_LABEL_PREFIX "" - -#define TARGET_LITTLE_SYM arm_pe_epoc_le_vec -#define TARGET_LITTLE_NAME "epoc-pe-arm-little" -#define TARGET_BIG_SYM arm_pe_epoc_be_vec -#define TARGET_BIG_NAME "epoc-pe-arm-big" - -#define bfd_arm_allocate_interworking_sections \ - bfd_arm_epoc_pe_allocate_interworking_sections -#define bfd_arm_get_bfd_for_interworking \ - bfd_arm_epoc_pe_get_bfd_for_interworking -#define bfd_arm_process_before_allocation \ - bfd_arm_epoc_pe_process_before_allocation - -#define EXTRA_S_FLAGS (SEC_LINK_ONCE | SEC_LINK_DUPLICATES | SEC_CODE | SEC_READONLY | SEC_DATA) - -#include "pe-arm.c" diff --git a/bfd/epoc-pei-arm.c b/bfd/epoc-pei-arm.c deleted file mode 100644 index 8b32aaf..0000000 --- a/bfd/epoc-pei-arm.c +++ /dev/null @@ -1,31 +0,0 @@ -/* BFD back-end for ARM EPOC PE IMAGE COFF files. - Copyright (C) 1999-2018 Free Software Foundation, Inc. - - This file is part of BFD, the Binary File Descriptor library. - - 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. */ - -#define TARGET_UNDERSCORE 0 -#define USER_LABEL_PREFIX "" - -#define TARGET_LITTLE_SYM arm_pei_epoc_le_vec -#define TARGET_LITTLE_NAME "epoc-pei-arm-little" -#define TARGET_BIG_SYM arm_pei_epoc_be_vec -#define TARGET_BIG_NAME "epoc-pei-arm-big" - -#define EXTRA_S_FLAGS (SEC_CODE | SEC_READONLY | SEC_DATA) - -#include "pei-arm.c" diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in index 4de3163..62339ec 100644 --- a/bfd/po/SRC-POTFILES.in +++ b/bfd/po/SRC-POTFILES.in @@ -230,8 +230,6 @@ elfxx-sparc.c elfxx-tilegx.c elfxx-x86.c elfxx-x86.c -epoc-pe-arm.c -epoc-pei-arm.c format.c freebsd.h genlink.h diff --git a/bfd/targets.c b/bfd/targets.c index 4042f6f..cce8b74 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -614,14 +614,10 @@ extern const bfd_target arm_elf32_vxworks_le_vec; extern const bfd_target arm_mach_o_vec; extern const bfd_target arm_pe_be_vec; extern const bfd_target arm_pe_le_vec; -extern const bfd_target arm_pe_epoc_be_vec; -extern const bfd_target arm_pe_epoc_le_vec; extern const bfd_target arm_pe_wince_be_vec; extern const bfd_target arm_pe_wince_le_vec; extern const bfd_target arm_pei_be_vec; extern const bfd_target arm_pei_le_vec; -extern const bfd_target arm_pei_epoc_be_vec; -extern const bfd_target arm_pei_epoc_le_vec; extern const bfd_target arm_pei_wince_be_vec; extern const bfd_target arm_pei_wince_le_vec; extern const bfd_target avr_elf32_vec; @@ -960,14 +956,10 @@ static const bfd_target * const _bfd_target_vector[] = &arm_mach_o_vec, &arm_pe_be_vec, &arm_pe_le_vec, - &arm_pe_epoc_be_vec, - &arm_pe_epoc_le_vec, &arm_pe_wince_be_vec, &arm_pe_wince_le_vec, &arm_pei_be_vec, &arm_pei_le_vec, - &arm_pei_epoc_be_vec, - &arm_pei_epoc_le_vec, &arm_pei_wince_be_vec, &arm_pei_wince_le_vec, diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 9e35aa6..3559c02 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,11 @@ 2018-04-16 Alan Modra <amodra@gmail.com> + * configure.ac: Remove arm-epoc-pe support. + * dlltool.c: Likewise. + * configure: Regenerate. + +2018-04-16 Alan Modra <amodra@gmail.com> + * testsuite/lib/binutils-common.exp: Remove sparc-aout and sparc-coff support. diff --git a/binutils/configure b/binutils/configure index 2e90d60..05fc9af 100755 --- a/binutils/configure +++ b/binutils/configure @@ -14453,15 +14453,6 @@ do esac case $targ in - arm-epoc-pe*) - BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' - if test -z "$DLLTOOL_DEFAULT"; then - DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_EPOC" - fi - DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_EPOC -DDLLTOOL_ARM" - BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' - BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' - ;; arm-wince-pe* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*) BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' if test -z "$DLLTOOL_DEFAULT"; then diff --git a/binutils/configure.ac b/binutils/configure.ac index 9e4ba6f..0d3e732 100644 --- a/binutils/configure.ac +++ b/binutils/configure.ac @@ -263,15 +263,6 @@ do esac case $targ in - arm-epoc-pe*) - BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' - if test -z "$DLLTOOL_DEFAULT"; then - DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_EPOC" - fi - DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_EPOC -DDLLTOOL_ARM" - BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' - BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' - ;; arm-wince-pe* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*) BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' if test -z "$DLLTOOL_DEFAULT"; then diff --git a/binutils/dlltool.c b/binutils/dlltool.c index 189907a..21c95ef 100644 --- a/binutils/dlltool.c +++ b/binutils/dlltool.c @@ -436,10 +436,6 @@ static FILE *base_file; static const char *mname = "arm"; #endif -#ifdef DLLTOOL_DEFAULT_ARM_EPOC -static const char *mname = "arm-epoc"; -#endif - #ifdef DLLTOOL_DEFAULT_ARM_WINCE static const char *mname = "arm-wince"; #endif @@ -733,17 +729,7 @@ mtable[] = } , { -#define MARM_EPOC 9 - "arm-epoc", ".byte", ".short", ".long", ".asciz", "@", - "ldr\tip,[pc]\n\tldr\tpc,[ip]\n\t.long", - ".global", ".space", ".align\t2",".align\t4", "", - "epoc-pe-arm-little", bfd_arch_arm, - arm_jtab, sizeof (arm_jtab), 8, - 0, 0, 0, 0, 0, 0 - } - , - { -#define MARM_WINCE 10 +#define MARM_WINCE 9 "arm-wince", ".byte", ".short", ".long", ".asciz", "@", "ldr\tip,[pc]\n\tldr\tpc,[ip]\n\t.long", ".global", ".space", ".align\t2",".align\t4", "-mapcs-32", @@ -753,7 +739,7 @@ mtable[] = } , { -#define MX86 11 +#define MX86 10 "i386:x86-64", ".byte", ".short", ".long", ".asciz", "#", "jmp *", ".global", ".space", ".align\t2",".align\t4", "", "pe-x86-64",bfd_arch_i386, @@ -908,7 +894,6 @@ rvaafter (int mach) case MMCORE_LE: case MMCORE_ELF: case MMCORE_ELF_LE: - case MARM_EPOC: case MARM_WINCE: break; default: @@ -934,7 +919,6 @@ rvabefore (int mach) case MMCORE_LE: case MMCORE_ELF: case MMCORE_ELF_LE: - case MARM_EPOC: case MARM_WINCE: return ".rva\t"; default: @@ -958,7 +942,6 @@ asm_prefix (int mach, const char *name) case MMCORE_LE: case MMCORE_ELF: case MMCORE_ELF_LE: - case MARM_EPOC: case MARM_WINCE: break; case M386: diff --git a/gas/ChangeLog b/gas/ChangeLog index e837e5c..874c3a2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,18 @@ 2018-04-16 Alan Modra <amodra@gmail.com> + * Makefile.am: Remove arm-epoc-pe support. + * config/tc-arm.h: Likewise. + * configure.tgt: Likewise. + * testsuite/gas/all/gas.exp: Likewise. + * testsuite/gas/arm/local_label_coff.d: Likewise. + * testsuite/gas/arm/undefined.d: Likewise. + * testsuite/gas/arm/undefined_coff.d: Likewise. + * config/te-epoc-pe.h: Delete. + * Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + +2018-04-16 Alan Modra <amodra@gmail.com> + * Makefile.am: Remove sparc-aout and sparc-coff support. * config/obj-coff.h: Likewise. * config/tc-sparc.c: Likewise. diff --git a/gas/Makefile.am b/gas/Makefile.am index ce4dfd7..a50fd69 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -307,7 +307,6 @@ TARG_ENV_HFILES = \ config/te-armfbsdvfp.h \ config/te-armlinuxeabi.h \ config/te-dynix.h \ - config/te-epoc-pe.h \ config/te-freebsd.h \ config/te-generic.h \ config/te-gnu.h \ diff --git a/gas/Makefile.in b/gas/Makefile.in index 45dca93..a9847fa 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -603,7 +603,6 @@ TARG_ENV_HFILES = \ config/te-armfbsdvfp.h \ config/te-armlinuxeabi.h \ config/te-dynix.h \ - config/te-epoc-pe.h \ config/te-freebsd.h \ config/te-generic.h \ config/te-gnu.h \ diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h index 532a4fdd..f50d7c9 100644 --- a/gas/config/tc-arm.h +++ b/gas/config/tc-arm.h @@ -63,9 +63,7 @@ struct fix; #elif defined OBJ_COFF # define ARM_BI_ENDIAN # if defined TE_PE -# if defined TE_EPOC -# define TARGET_FORMAT (target_big_endian ? "epoc-pe-arm-big" : "epoc-pe-arm-little") -# elif defined TE_WINCE +# if defined TE_WINCE # define TARGET_FORMAT (target_big_endian ? "pe-arm-wince-big" : "pe-arm-wince-little") # else # define TARGET_FORMAT (target_big_endian ? "pe-arm-big" : "pe-arm-little") diff --git a/gas/config/te-epoc-pe.h b/gas/config/te-epoc-pe.h deleted file mode 100644 index 37c825d..0000000 --- a/gas/config/te-epoc-pe.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2007-2018 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. */ - -#define TE_PE -#define TE_EPOC -#define LEX_AT 1 /* can have @'s inside labels */ - -/* The PE format supports long section names. */ -#define COFF_LONG_SECTION_NAMES - -#include "obj-format.h" diff --git a/gas/configure.tgt b/gas/configure.tgt index ad2bbe2..cc8c361 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -157,7 +157,6 @@ case ${generic_target} in arm-*-netbsdelf*) fmt=elf em=nbsd ;; arm-*-*n*bsd*) fmt=aout em=nbsd ;; arm-*-nto*) fmt=elf ;; - arm-epoc-pe) fmt=coff em=epoc-pe ;; arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*) fmt=coff em=wince-pe ;; arm-*-pe) fmt=coff em=pe ;; diff --git a/gas/po/POTFILES.in b/gas/po/POTFILES.in index 139d955..91b1d4c 100644 --- a/gas/po/POTFILES.in +++ b/gas/po/POTFILES.in @@ -182,7 +182,6 @@ config/te-armfbsdeabi.h config/te-armfbsdvfp.h config/te-armlinuxeabi.h config/te-dynix.h -config/te-epoc-pe.h config/te-freebsd.h config/te-generic.h config/te-gnu.h diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp index ccec04b..029795b 100644 --- a/gas/testsuite/gas/all/gas.exp +++ b/gas/testsuite/gas/all/gas.exp @@ -161,7 +161,6 @@ case $target_triplet in { { z80-*-* } { } default { run_dump_test redef - setup_xfail "arm-epoc-pe*" # These targets fail redef2 because they disallow redefined # symbols on relocs. setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*" diff --git a/gas/testsuite/gas/arm/local_label_coff.d b/gas/testsuite/gas/arm/local_label_coff.d index 5e45ac8..e953a27 100644 --- a/gas/testsuite/gas/arm/local_label_coff.d +++ b/gas/testsuite/gas/arm/local_label_coff.d @@ -2,7 +2,7 @@ #name: ARM local label relocs to section symbol relocs (COFF) # This test is only valid on COFF based targets, except Windows CE. # There are ELF and Windows CE versions of this test. -#not-skip: *-unknown-pe *-epoc-pe *-*-*coff +#not-skip: *-unknown-pe *-*-*coff # Check if relocations against local symbols are converted to # relocations against section symbols. diff --git a/gas/testsuite/gas/arm/undefined.d b/gas/testsuite/gas/arm/undefined.d index 6c8bca7..3126b84 100644 --- a/gas/testsuite/gas/arm/undefined.d +++ b/gas/testsuite/gas/arm/undefined.d @@ -1,5 +1,5 @@ #name: Undefined local label error # COFF and aout based ports, except Windows CE, # use a different naming convention for local labels. -#skip: *-*-*coff *-unknown-pe *-epoc-pe *-*-*aout* *-*-netbsd *-*-riscix* *-*-vxworks +#skip: *-*-*coff *-unknown-pe *-*-*aout* *-*-netbsd *-*-riscix* *-*-vxworks #error-output: undefined.l diff --git a/gas/testsuite/gas/arm/undefined_coff.d b/gas/testsuite/gas/arm/undefined_coff.d index d280027..a8fb949 100644 --- a/gas/testsuite/gas/arm/undefined_coff.d +++ b/gas/testsuite/gas/arm/undefined_coff.d @@ -1,5 +1,5 @@ #name: Undefined local label error # COFF and aout based ports, except Windows CE, # use a different naming convention for local labels. -#not-skip: *-*-*coff *-unknown-pe *-epoc-pe *-*-*aout* *-*-netbsd *-*-riscix* +#not-skip: *-*-*coff *-unknown-pe *-*-*aout* *-*-netbsd *-*-riscix* #error-output: undefined_coff.l diff --git a/ld/ChangeLog b/ld/ChangeLog index af1c0e9..86f1b36 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,18 @@ 2018-04-16 Alan Modra <amodra@gmail.com> + * Makefile.am: Remove arm-epoc-pe support. + * configure.tgt: Likewise. + * emultempl/pe.em: Likewise. + * pe-dll.c: Likewise. + * testsuite/ld-scripts/fill.d: Likewise. + * testsuite/ld-scripts/fill16.d: Likewise. + * emulparams/arm_epoc_pe.sh: Delete. + * scripttempl/epocpe.sc: Delete. + * Makefile.in: Regenerate. + * po/BLD-POTFILES.in: Regenerate. + +2018-04-16 Alan Modra <amodra@gmail.com> + * Makefile.am: Remove sparc-aout and sparc-coff support. * configure.tgt: Likewise. * testsuite/ld-elfvers/vers.exp: Likewise. diff --git a/ld/Makefile.am b/ld/Makefile.am index 0998a05..4ae2c0f 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -166,7 +166,6 @@ ALL_EMULATION_SOURCES = \ earclinux.c \ earclinux_nps.c \ earclinux_prof.c \ - earm_epoc_pe.c \ earm_wince_pe.c \ earmaoutb.c \ earmaoutl.c \ @@ -690,9 +689,6 @@ earclinux_prof.c: $(srcdir)/emulparams/arclinux_prof.sh \ $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \ $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS} -earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \ - $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS} - earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} diff --git a/ld/Makefile.in b/ld/Makefile.in index 3c67306..3353448 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -535,7 +535,6 @@ ALL_EMULATION_SOURCES = \ earclinux.c \ earclinux_nps.c \ earclinux_prof.c \ - earm_epoc_pe.c \ earm_wince_pe.c \ earmaoutb.c \ earmaoutl.c \ @@ -1092,7 +1091,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux_prof.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elfx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm_epoc_pe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm_wince_pe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmaoutb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmaoutl.Po@am__quote@ @@ -2201,9 +2199,6 @@ earclinux_prof.c: $(srcdir)/emulparams/arclinux_prof.sh \ $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \ $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS} -earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \ - $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS} - earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} diff --git a/ld/configure.tgt b/ld/configure.tgt index ca11eca..93bd07f 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -97,7 +97,6 @@ arc*-*-linux*) case "${with_cpu}" in esac targ_extra_emuls="${targ_extra_emuls} arclinux_prof arcelf arcelf_prof arcv2elf arcv2elfx" ;; -arm-epoc-pe) targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; arm*-*-cegcc*) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" LIB_PATH='${tooldir}/lib/w32api' ;; arm-wince-pe | arm-*-wince | arm*-*-mingw32ce*) diff --git a/ld/emulparams/arm_epoc_pe.sh b/ld/emulparams/arm_epoc_pe.sh deleted file mode 100644 index 51a3f76..0000000 --- a/ld/emulparams/arm_epoc_pe.sh +++ /dev/null @@ -1,9 +0,0 @@ -ARCH=arm -SCRIPT_NAME=epocpe -OUTPUT_FORMAT="epoc-pei-arm-little" -LITTLE_OUTPUT_FORMAT="epoc-pei-arm-little" -BIG_OUTPUT_FORMAT="epoc-pei-arm-big" -TEMPLATE_NAME=pe -SUBSYSTEM=PE_DEF_SUBSYSTEM -INITIAL_SYMBOL_CHAR=\"_\" -TARGET_PAGE_SIZE=0x1000 diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 06cfe7d..463b854 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -40,7 +40,6 @@ fragment <<EOF /* Do this before including bfd.h, so we prototype the right functions. */ #if defined(TARGET_IS_armpe) \ - || defined(TARGET_IS_arm_epoc_pe) \ || defined(TARGET_IS_arm_wince_pe) #define bfd_arm_allocate_interworking_sections \ bfd_${EMULATION_NAME}_allocate_interworking_sections @@ -95,7 +94,6 @@ fragment <<EOF #if defined(TARGET_IS_i386pe) \ || defined(TARGET_IS_shpe) \ || defined(TARGET_IS_armpe) \ - || defined(TARGET_IS_arm_epoc_pe) \ || defined(TARGET_IS_arm_wince_pe) #define DLL_SUPPORT #endif @@ -1416,7 +1414,6 @@ gld_${EMULATION_NAME}_after_open (void) #if defined (TARGET_IS_i386pe) \ || defined (TARGET_IS_armpe) \ - || defined (TARGET_IS_arm_epoc_pe) \ || defined (TARGET_IS_arm_wince_pe) if (!bfd_link_relocatable (&link_info)) pe_dll_build_sections (link_info.output_bfd, &link_info); @@ -1428,7 +1425,7 @@ gld_${EMULATION_NAME}_after_open (void) #endif #endif /* DLL_SUPPORT */ -#if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_epoc_pe) || defined(TARGET_IS_arm_wince_pe) +#if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_wince_pe) if (strstr (bfd_get_target (link_info.output_bfd), "arm") == NULL) { /* The arm backend needs special fields in the output hash structure. @@ -1754,7 +1751,7 @@ gld_${EMULATION_NAME}_before_allocation (void) ppc_allocate_toc_section (&link_info); #endif /* TARGET_IS_ppcpe */ -#if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_epoc_pe) || defined(TARGET_IS_arm_wince_pe) +#if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_wince_pe) /* FIXME: we should be able to set the size of the interworking stub section. @@ -1776,7 +1773,7 @@ gld_${EMULATION_NAME}_before_allocation (void) /* We have seen it all. Allocate it, and carry on. */ bfd_arm_allocate_interworking_sections (& link_info); -#endif /* TARGET_IS_armpe || TARGET_IS_arm_epoc_pe || TARGET_IS_arm_wince_pe */ +#endif /* TARGET_IS_armpe || TARGET_IS_arm_wince_pe */ before_allocation_default (); } @@ -1891,9 +1888,6 @@ gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUT #ifdef TARGET_IS_armpe pe_dll_id_target ("pei-arm-little"); #endif -#ifdef TARGET_IS_arm_epoc_pe - pe_dll_id_target ("epoc-pei-arm-little"); -#endif #ifdef TARGET_IS_arm_wince_pe pe_dll_id_target ("pei-arm-wince-little"); #endif @@ -1906,7 +1900,7 @@ gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUT static void gld_${EMULATION_NAME}_finish (void) { -#if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_epoc_pe) || defined(TARGET_IS_arm_wince_pe) +#if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_wince_pe) struct bfd_link_hash_entry * h; if (thumb_entry_symbol != NULL) @@ -1946,7 +1940,7 @@ gld_${EMULATION_NAME}_finish (void) else einfo (_("%P: warning: cannot find thumb start symbol %s\n"), thumb_entry_symbol); } -#endif /* defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_epoc_pe) || defined(TARGET_IS_arm_wince_pe) */ +#endif /* defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_wince_pe) */ finish_default (); diff --git a/ld/pe-dll.c b/ld/pe-dll.c index efb75f2..8cf522b 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -243,8 +243,7 @@ static const autofilter_entry_type autofilter_symbollist_i386[] = #define PE_ARCH_sh 2 #define PE_ARCH_mips 3 #define PE_ARCH_arm 4 -#define PE_ARCH_arm_epoc 5 -#define PE_ARCH_arm_wince 6 +#define PE_ARCH_arm_wince 5 /* Don't make it constant as underscore mode gets possibly overriden by target or -(no-)leading-underscore option. */ @@ -308,15 +307,6 @@ static pe_details_type pe_detail_list[] = autofilter_symbollist_generic }, { - "epoc-pei-arm-little", - "epoc-pe-arm-little", - 11 /* ARM_RVA32 */, - PE_ARCH_arm_epoc, - bfd_arch_arm, - FALSE, - autofilter_symbollist_generic - }, - { "pei-arm-wince-little", "pe-arm-wince-little", 2, /* ARM_RVA32 on Windows CE, see bfd/coff-arm.c. */ @@ -2283,7 +2273,6 @@ make_one (def_file_export *exp, bfd *parent, bfd_boolean include_jmp_stub) jmp_byte_count = sizeof (jmp_mips_bytes); break; case PE_ARCH_arm: - case PE_ARCH_arm_epoc: case PE_ARCH_arm_wince: jmp_bytes = jmp_arm_bytes; jmp_byte_count = sizeof (jmp_arm_bytes); @@ -2371,7 +2360,6 @@ make_one (def_file_export *exp, bfd *parent, bfd_boolean include_jmp_stub) quick_reloc (abfd, 4, BFD_RELOC_LO16, 2); break; case PE_ARCH_arm: - case PE_ARCH_arm_epoc: case PE_ARCH_arm_wince: quick_reloc (abfd, 8, BFD_RELOC_32, 2); break; diff --git a/ld/po/BLD-POTFILES.in b/ld/po/BLD-POTFILES.in index f187d7c..732cfb9 100644 --- a/ld/po/BLD-POTFILES.in +++ b/ld/po/BLD-POTFILES.in @@ -23,7 +23,6 @@ earclinux_nps.c earclinux_prof.c earcv2elf.c earcv2elfx.c -earm_epoc_pe.c earm_wince_pe.c earmaoutb.c earmaoutl.c diff --git a/ld/scripttempl/epocpe.sc b/ld/scripttempl/epocpe.sc deleted file mode 100644 index b6ab088..0000000 --- a/ld/scripttempl/epocpe.sc +++ /dev/null @@ -1,164 +0,0 @@ -# Linker script for PE. -# -# Copyright (C) 2014-2018 Free Software Foundation, Inc. -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. - -if test -z "${RELOCATEABLE_OUTPUT_FORMAT}"; then - RELOCATEABLE_OUTPUT_FORMAT=${OUTPUT_FORMAT} -fi - -# We can't easily and portably get an unquoted $ in a shell -# substitution, so we do this instead. -# Sorting of the .foo$* sections is required by the definition of -# grouped sections in PE. -# Sorting of the file names in R_IDATA is required by the -# current implementation of dlltool (this could probably be changed to -# use grouped sections instead). -if test "${RELOCATING}"; then - R_TEXT='*(SORT(.text$*))' - R_DATA='*(SORT(.data$*))' - R_RDATA='*(SORT(.rdata$*))' - R_IDATA=' - SORT(*)(.idata$2) - SORT(*)(.idata$3) - /* These zeroes mark the end of the import list. */ - LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); - SORT(*)(.idata$4) - SORT(*)(.idata$5) - SORT(*)(.idata$6) - SORT(*)(.idata$7)' - R_CRT='*(SORT(.CRT$*))' - R_RSRC='*(SORT(.rsrc$*))' -else - R_TEXT= - R_DATA= - R_RDATA= - R_IDATA= - R_CRT= - R_RSRC= -fi - -cat <<EOF -/* Copyright (C) 2014-2018 Free Software Foundation, Inc. - - Copying and distribution of this script, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. */ - -${RELOCATING+OUTPUT_FORMAT(${OUTPUT_FORMAT})} -${RELOCATING-OUTPUT_FORMAT(${RELOCATEABLE_OUTPUT_FORMAT})} - -${LIB_SEARCH_DIRS} - -${RELOCATING+ENTRY (_mainCRTStartup)} - -SECTIONS -{ - .text ${RELOCATING+ __image_base__ + __section_alignment__ } : - { - ${RELOCATING+ *(.init)} - *(.text) - ${R_TEXT} - *(.glue_7t) - *(.glue_7) - ${RELOCATING+ *(.text.*)} - ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ; - LONG (-1); *(.ctors); *(.ctor); LONG (0); } - ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; - LONG (-1); *(.dtors); *(.dtor); LONG (0); } - ${RELOCATING+ *(.fini)} - /* ??? Why is .gcc_exc here? */ - ${RELOCATING+ *(.gcc_exc)} - ${RELOCATING+ etext = .;} - *(.gcc_except_table) - - /* For EPOC the read only data is located at the end of the .text - section */ - *(.rdata) - ${R_RDATA} - *(.eh_frame) - } - - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data$nocopy". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - - .data ${RELOCATING+BLOCK(__section_alignment__)} : - { - ${RELOCATING+__data_start__ = . ;} - *(.data) - *(.data2) - ${R_DATA} - ${RELOCATING+__data_end__ = . ;} - ${RELOCATING+*(.data_cygwin_nocopy)} - } - - .bss ${RELOCATING+BLOCK(__section_alignment__)} : - { - ${RELOCATING+__bss_start__ = . ;} - *(.bss) - *(COMMON) - ${RELOCATING+__bss_end__ = . ;} - } - - .edata ${RELOCATING+BLOCK(__section_alignment__)} : - { - *(.edata) - } - - /DISCARD/ : - { - *(.debug\$S) - *(.debug\$T) - *(.debug\$F) - *(.drectve) - } - - .idata ${RELOCATING+BLOCK(__section_alignment__)} : - { - /* This cannot currently be handled with grouped sections. - See pe.em:sort_sections. */ - ${R_IDATA} - } - - .CRT ${RELOCATING+BLOCK(__section_alignment__)} : - { - ${R_CRT} - } - - .endjunk ${RELOCATING+BLOCK(__section_alignment__)} : - { - /* end is deprecated, don't use it */ - ${RELOCATING+ end = .;} - ${RELOCATING+ _end = .;} - ${RELOCATING+ __end__ = .;} - } - - .reloc ${RELOCATING+BLOCK(__section_alignment__)} : - { - *(.reloc) - } - - .rsrc ${RELOCATING+BLOCK(__section_alignment__)} : - { - *(.rsrc) - ${R_RSRC} - } - - .stab ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} : - { - [ .stab ] - } - - .stabstr ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} : - { - [ .stabstr ] - } - -} -EOF diff --git a/ld/testsuite/ld-scripts/fill.d b/ld/testsuite/ld-scripts/fill.d index 4e42c70..38b3f2d 100644 --- a/ld/testsuite/ld-scripts/fill.d +++ b/ld/testsuite/ld-scripts/fill.d @@ -10,7 +10,6 @@ #notarget: tilepro-*-* #notarget: x86_64-*-cygwin x86_64-*-mingw* x86_64-*-pe* #xfail: alpha*-*-*ecoff -#xfail: arm-epoc-pe #xfail: m32c-*-* #xfail: sh-*-pe #xfail: sparc*-*-coff @@ -23,7 +22,6 @@ # configurations are listed above. # # alpha-linuxecoff pads out code to 16 bytes. -# arm-epoc-pe always pads out code to 512 bytes. # ia64 aligns code to minimum 16 bytes. # m32c pads out code sections with 4 NOPs (see `m32c_md_end'). # mips aligns to minimum 16 bytes (except for bare-metal ELF and VxWorks). diff --git a/ld/testsuite/ld-scripts/fill16.d b/ld/testsuite/ld-scripts/fill16.d index d1e369c..068af75 100644 --- a/ld/testsuite/ld-scripts/fill16.d +++ b/ld/testsuite/ld-scripts/fill16.d @@ -6,7 +6,6 @@ #notarget: arm-*-coff #notarget: i[3-7]86-*-coff #xfail: alpha*-*-*ecoff -#xfail: arm-epoc-pe #xfail: m32c-*-* #xfail: sh-*-pe #xfail: sparc*-*-coff @@ -19,7 +18,6 @@ # configurations are listed above. # # alpha-linuxecoff pads out code to 16 bytes. -# arm-epoc-pe always pads out code to 512 bytes. # arm-coff always aligns code to 4 bytes. # i386-coff always aligns code to 4 bytes. # m32c pads out code sections with 4 NOPs (see `m32c_md_end'). |