diff options
author | Alan Modra <amodra@gmail.com> | 2018-04-16 20:29:05 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-04-16 20:29:05 +0930 |
commit | ddb000396c9246649e02669e0bd6ad3949973e5a (patch) | |
tree | 18fb2f42dd7e9c2088078ab2fdf99268fcaac450 /ld | |
parent | 5452f388a51463394553b29469e32e7765d874e1 (diff) | |
download | binutils-ddb000396c9246649e02669e0bd6ad3949973e5a.zip binutils-ddb000396c9246649e02669e0bd6ad3949973e5a.tar.gz binutils-ddb000396c9246649e02669e0bd6ad3949973e5a.tar.bz2 |
Remove arm-epoc-pe support
bfd/
* 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.
binutils/
* configure.ac: Remove arm-epoc-pe support.
* dlltool.c: Likewise.
* configure: Regenerate.
gas/
* 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.
ld/
* 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.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 13 | ||||
-rw-r--r-- | ld/Makefile.am | 4 | ||||
-rw-r--r-- | ld/Makefile.in | 5 | ||||
-rw-r--r-- | ld/configure.tgt | 1 | ||||
-rw-r--r-- | ld/emulparams/arm_epoc_pe.sh | 9 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 16 | ||||
-rw-r--r-- | ld/pe-dll.c | 14 | ||||
-rw-r--r-- | ld/po/BLD-POTFILES.in | 1 | ||||
-rw-r--r-- | ld/scripttempl/epocpe.sc | 164 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/fill.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/fill16.d | 2 |
11 files changed, 19 insertions, 212 deletions
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'). |