aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-07-08 21:21:32 +0930
committerAlan Modra <amodra@gmail.com>2020-07-09 22:58:16 +0930
commitfe49679d5193f6ff7cfd333e30883d293112a3d1 (patch)
treed3e22fb7645b021227855dbde32c85a9b6fe0a0b /ld
parentc560184eb2074570988c498aaae494d0c4b00328 (diff)
downloadfsf-binutils-gdb-fe49679d5193f6ff7cfd333e30883d293112a3d1.zip
fsf-binutils-gdb-fe49679d5193f6ff7cfd333e30883d293112a3d1.tar.gz
fsf-binutils-gdb-fe49679d5193f6ff7cfd333e30883d293112a3d1.tar.bz2
Remove powerpc PE support
Plus some leftover powerpc lynxos support. bfd/ * coff-ppc.c: Delete. * pe-ppc.c: Delete. * pei-ppc.c: Delete. * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Remove PE PPC. * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Remove PPCMAGIC code. (coff_write_object_contents): Remove PPC_PE code. * config.bfd: Move powerpcle-pe to removed targets. * configure.ac: Remove powerpc PE entries. * libcoff-in.h (ppc_allocate_toc_section): Delete. (ppc_process_before_allocation): Delete. * peXXigen.c: Remove POWERPC_LE_PE code and comments. * targets.c: Remove powerpc PE vectors. * po/SRC-POTFILES.in: Regenerate. * libcoff.h: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. binutils/ * dlltool.c: Remove powerpc PE support and comments. * configure.ac: Remove powerpc PE dlltool config. * configure: Regenerate. gas/ * config/obj-coff.h: Remove TE_PE support. * config/tc-ppc.c: Likewise. * config/tc-ppc.h: Likewise. * configure.tgt: Remove powerpc PE and powerpc lynxos. * testsuite/gas/cfi/cfi.exp (cfi-common-6): Remove powerpc PE condition. * testsuite/gas/macros/macros.exp: Don't xfail powerpc PE. include/ * coff/powerpc.h: Delete. ld/ * emulparams/ppcpe.sh: Delete. * scripttempl/ppcpe.sc: Delete. * emulparams/ppclynx.sh: Delete. * Makefile.am (ALL_EMULATION_SOURCES): Remove ppc PE and lynxos. * configure.tgt: Likewise. * emultempl/beos.em: Remove powerpc PE support. * emultempl/pe.em: Likewise. * po/BLD-POTFILES.in: Regenerate. * Makefile.in: Regenerate.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog12
-rw-r--r--ld/Makefile.am4
-rw-r--r--ld/Makefile.in6
-rw-r--r--ld/configure.tgt6
-rw-r--r--ld/emulparams/ppclynx.sh12
-rw-r--r--ld/emulparams/ppcpe.sh7
-rw-r--r--ld/emultempl/beos.em21
-rw-r--r--ld/emultempl/pe.em17
-rw-r--r--ld/po/BLD-POTFILES.in2
-rw-r--r--ld/scripttempl/ppcpe.sc208
10 files changed, 13 insertions, 282 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 195731e..14f31a8 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,17 @@
2020-07-09 Alan Modra <amodra@gmail.com>
+ * emulparams/ppcpe.sh: Delete.
+ * scripttempl/ppcpe.sc: Delete.
+ * emulparams/ppclynx.sh: Delete.
+ * Makefile.am (ALL_EMULATION_SOURCES): Remove ppc PE and lynxos.
+ * configure.tgt: Likewise.
+ * emultempl/beos.em: Remove powerpc PE support.
+ * emultempl/pe.em: Likewise.
+ * po/BLD-POTFILES.in: Regenerate.
+ * Makefile.in: Regenerate.
+
+2020-07-09 Alan Modra <amodra@gmail.com>
+
* testsuite/ld-gc/gc.exp: Don't set -mminimal-toc for powerpc64,
and remove powerpc64 xfail. Use -fno-PIE for ppc32.
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 02c4fc1..38ff2d9 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -342,9 +342,7 @@ ALL_EMULATION_SOURCES = \
epdp11.c \
epjelf.c \
epjlelf.c \
- eppclynx.c \
eppcmacos.c \
- eppcpe.c \
epruelf.c \
escore3_elf.c \
escore7_elf.c \
@@ -828,9 +826,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epdp11.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epjelf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epjlelf.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppclynx.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppcmacos.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppcpe.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epruelf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escore3_elf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escore7_elf.Pc@am__quote@
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 2fe12e1..aaf322d 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -825,9 +825,7 @@ ALL_EMULATION_SOURCES = \
epdp11.c \
epjelf.c \
epjlelf.c \
- eppclynx.c \
eppcmacos.c \
- eppcpe.c \
epruelf.c \
escore3_elf.c \
escore7_elf.c \
@@ -1440,9 +1438,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epdp11.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epjelf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epjlelf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppclynx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppcmacos.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppcpe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epruelf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escore3_elf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escore7_elf.Po@am__quote@
@@ -2423,9 +2419,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epdp11.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epjelf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epjlelf.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppclynx.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppcmacos.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eppcpe.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epruelf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escore3_elf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escore7_elf.Pc@am__quote@
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 87c7d9a..32f17d2 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -721,10 +721,6 @@ powerpcle-*-nto*) targ_emul=elf32lppcnto
powerpc-*-macos*) targ_emul=ppcmacos
targ_extra_ofiles=
;;
-powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
- targ_emul=ppcpe
- targ_extra_ofiles="deffilep.o pe-dll.o"
- ;;
powerpc-*-aix[5-9]*) targ_emul=aix5ppc
targ_extra_ofiles=
;;
@@ -736,8 +732,6 @@ powerpc-*-beos*) targ_emul=aixppc
;;
powerpc-*-windiss*) targ_emul=elf32ppcwindiss
;;
-powerpc-*-lynxos*) targ_emul=ppclynx
- ;;
pru*-*-*) targ_emul=pruelf
;;
riscv32*-*-linux*) targ_emul=elf32lriscv
diff --git a/ld/emulparams/ppclynx.sh b/ld/emulparams/ppclynx.sh
deleted file mode 100644
index a58b5b0..0000000
--- a/ld/emulparams/ppclynx.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-source_sh ${srcdir}/emulparams/elf32ppc.sh
-
-TEXT_BASE=0x00002000
-DYN_TEXT_BASE=0x00400000
-TEXT_START_ADDR="(DEFINED(_DYNAMIC) ? ${DYN_TEXT_BASE} : ${TEXT_BASE})"
-case ${LD_FLAG} in
- n|N) TEXT_START_ADDR=0x1000 ;;
-esac
-ELF_INTERPRETER_NAME=\"/usr/lib/ld.so.1\"
-
-# Leave room of SIZEOF_HEADERS before text.
-EMBEDDED=
diff --git a/ld/emulparams/ppcpe.sh b/ld/emulparams/ppcpe.sh
deleted file mode 100644
index ed7df88..0000000
--- a/ld/emulparams/ppcpe.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-ARCH=powerpc
-SCRIPT_NAME=ppcpe
-OUTPUT_FORMAT="pei-powerpcle"
-TEMPLATE_NAME=pe
-SUBSYSTEM=PE_DEF_SUBSYSTEM
-INITIAL_SYMBOL_CHAR=\"_\"
-TARGET_PAGE_SIZE=0x1000
diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em
index 4da5eee..ace6e3a 100644
--- a/ld/emultempl/beos.em
+++ b/ld/emultempl/beos.em
@@ -608,22 +608,6 @@ sort_sections (lang_statement_union_type *s)
static void
gld_${EMULATION_NAME}_before_allocation (void)
{
-#ifdef TARGET_IS_ppcpe
- /* Here we rummage through the found bfds to collect toc information */
- {
- LANG_FOR_EACH_INPUT_STATEMENT (is)
- {
- if (!ppc_process_before_allocation(is->the_bfd, &link_info))
- {
- einfo (_("%P: errors encountered processing file %s\n"),
- is->filename);
- }
- }
- }
-
- /* We have seen it all. Allocate it, and carry on */
- ppc_allocate_toc_section (&link_info);
-#else
#ifdef TARGET_IS_armpe
/* FIXME: we should be able to set the size of the interworking stub
section.
@@ -645,7 +629,6 @@ gld_${EMULATION_NAME}_before_allocation (void)
/* We have seen it all. Allocate it, and carry on */
arm_allocate_interworking_sections (& link_info);
#endif /* TARGET_IS_armpe */
-#endif /* TARGET_IS_ppcpe */
sort_sections (stat_ptr->head);
@@ -698,9 +681,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
os = lang_output_section_statement_lookup (output_secname, constraint, TRUE);
/* Find the '\$' wild statement for this section. We currently require the
- linker script to explicitly mention "*(.foo\$)".
- FIXME: ppcpe.sc has .CRT\$foo in the .rdata section. According to the
- Microsoft docs this isn't correct so it's not (currently) handled. */
+ linker script to explicitly mention "*(.foo\$)". */
ps[0] = '\$';
ps[1] = 0;
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 3899c9d..eb7c812 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -1741,23 +1741,6 @@ gld_${EMULATION_NAME}_after_open (void)
static void
gld_${EMULATION_NAME}_before_allocation (void)
{
-#ifdef TARGET_IS_ppcpe
- /* Here we rummage through the found bfds to collect toc information. */
- {
- LANG_FOR_EACH_INPUT_STATEMENT (is)
- {
- if (!ppc_process_before_allocation (is->the_bfd, &link_info))
- {
- /* xgettext:c-format */
- einfo (_("%P: errors encountered processing file %s\n"), is->filename);
- }
- }
- }
-
- /* We have seen it all. Allocate it, and carry on. */
- ppc_allocate_toc_section (&link_info);
-#endif /* TARGET_IS_ppcpe */
-
#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.
diff --git a/ld/po/BLD-POTFILES.in b/ld/po/BLD-POTFILES.in
index 4ef0987..a954e77 100644
--- a/ld/po/BLD-POTFILES.in
+++ b/ld/po/BLD-POTFILES.in
@@ -262,9 +262,7 @@ epc532macha.c
epdp11.c
epjelf.c
epjlelf.c
-eppclynx.c
eppcmacos.c
-eppcpe.c
epruelf.c
escore3_elf.c
escore7_elf.c
diff --git a/ld/scripttempl/ppcpe.sc b/ld/scripttempl/ppcpe.sc
deleted file mode 100644
index d8e734b..0000000
--- a/ld/scripttempl/ppcpe.sc
+++ /dev/null
@@ -1,208 +0,0 @@
-# A PE linker script for PowerPC.
-# Loosely based on Steve Chamberlain's pe.sc.
-# All new mistakes should be credited to Kim Knuttila (krk@cygnus.com)
-#
-# Copyright (C) 2014-2020 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.
-#
-
-cat <<EOF
-/* Copyright (C) 2014-2020 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. */
-
-OUTPUT_FORMAT(${OUTPUT_FORMAT})
-${LIB_SEARCH_DIRS}
-
-/* Much of this layout was determined by delving into .exe files for
- the box generated by other compilers/linkers/etc. This means that
- if a particular feature did not happen to appear in one of the
- subject files, then it may not be yet supported.
-*/
-
-/* It's "mainCRTStartup", not "_mainCRTStartup", and it's located in
- one of the two .lib files (libc.lib and kernel32.lib) that currently
- must be present on the link line. This means that you must use
- "-u mainCRTStartup" to make sure it gets included in the link.
-*/
-
-${RELOCATING+ENTRY (mainCRTStartup)}
-
-SECTIONS
-{
-
- /* text - the usual meaning */
- .text ${RELOCATING+ __image_base__ + __section_alignment__ } :
- {
- ${RELOCATING+ KEEP (*(SORT_NONE(.init)))}
- *(.text)
- ${RELOCATING+ *(.text.*)}
- *(.gcc_except_table)
- ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
- LONG (-1); *(.ctors); *(.ctor); LONG (0); }
- ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
- LONG (-1); *(.dtors); *(.dtor); LONG (0); }
- ${RELOCATING+ KEEP (*(SORT_NONE(.fini)))}
- ${RELOCATING+ etext = .};
- }
-
- /* rdata - Read Only Runtime Data
- CTR sections: All of the CRT (read only C runtime data) sections
- appear at the start of the .rdata (read only runtime data)
- section, in the following order. Don't know if it matters or not.
- Not all sections are always present either.
- .rdata: compiler generated read only data
- .xdata: compiler generated exception handling table. (Most docs
- seem to suggest that this section is now deprecated infavor
- of the ydata section)
- .edata: The exported names table.
- */
- .rdata BLOCK(__section_alignment__) :
- {
- *(.CRT\$XCA);
- *(.CRT\$XCC);
- *(.CRT\$XCZ);
- *(.CRT\$XIA);
- *(.CRT\$XIC);
- *(.CRT\$XIZ);
- *(.CRT\$XLA);
- *(.CRT\$XLZ);
- *(.CRT\$XPA);
- *(.CRT\$XPX);
- *(.CRT\$XPZ);
- *(.CRT\$XTA);
- *(.CRT\$XTZ);
- *(.rdata);
- *(.xdata);
- }
-
- .edata BLOCK(__section_alignment__) :
- {
- *(.edata);
- }
-
- /* data - initialized data
- .ydata: exception handling information.
- .data: the usual meaning.
- .data2: more of the same.
- .bss: For some reason, bss appears to be included in the data
- section, as opposed to being given a section of it's own.
- COMMON:
- */
- .data BLOCK(__section_alignment__) :
- {
- __data_start__ = . ;
- *(.ydata);
- *(.data);
- *(.data2);
- __bss_start__ = . ;
- *(.bss) ;
- *(COMMON);
- __bss_end__ = . ;
- ${RELOCATING+ end = .};
- __data_end__ = . ;
- }
-
- /* The exception handling table. A sequence of 5 word entries. Section
- address and extent are placed in the DataDirectory.
- */
- .pdata BLOCK(__section_alignment__) :
- {
- *(.pdata)
- ;
- }
-
- /* The idata section is chock full of magic bits.
- 1. Boundaries around various idata parts are used to initialize
- some of the fields of the DataDirectory. In particular, the
- magic for 2, 4 and 5 are known to be used. Some compilers
- appear to generate magic section symbols for this purpose.
- Where we can, we catch such symbols and use our own. This of
- course is something less than a perfect strategy.
- 2. The table of contents is placed immediately after idata4.
- The ".private.toc" sections are generated by the ppc bfd. The
- .toc variable is generated by gas, and resolved here. It is
- used to initialized function descriptors (and anyone else who
- needs the address of the module's toc). The only thing
- interesting about it at all? Most ppc instructions using it
- have a 16bit displacement field. The convention for addressing
- is to initialize the .toc value to 32K past the start of the
- actual toc, and subtract 32K from all references, thus using
- the entire 64K range. Naturally, the reloc code must agree
- on this number or you get pretty stupid results.
- */
- .idata BLOCK(__section_alignment__) :
- {
- __idata2_magic__ = .;
- *(.idata\$2);
- __idata3_magic__ = .;
- *(.idata\$3);
- __idata4_magic__ = .;
- *(.idata\$4);
- . = ALIGN(4);
- .toc = . + 32768;
- *(.private.toc);
- __idata5_magic__ = .;
- *(.idata\$5);
- __idata6_magic__ = .;
- *(.idata\$6);
- __idata7_magic__ = .;
- *(.idata\$7);
- ;
- }
-
- /* reldata -- data that requires relocation
- */
- .reldata BLOCK(__section_alignment__) :
- {
- *(.reldata)
- ;
- }
-
-
- /* Resources */
- .rsrc BLOCK(__section_alignment__) :
- {
- *(.rsrc\$01)
- *(.rsrc\$02)
- ;
- }
-
- .stab BLOCK(__section_alignment__) ${RELOCATING+(NOLOAD)} :
- {
- [ .stab ]
- }
-
- .stabstr BLOCK(__section_alignment__) ${RELOCATING+(NOLOAD)} :
- {
- [ .stabstr ]
- }
-
- /* The .reloc section is currently generated by the dlltool from Steve
- Chamberlain in a second pass of linking. Section address and extent
- are placed in the DataDirectory.
- */
- .reloc BLOCK(__section_alignment__) :
- {
- *(.reloc)
- ;
- }
-
- /* We don't do anything useful with codeview debugger support or the
- directive section (yet). Hopefully, we junk them correctly.
- */
- /DISCARD/ BLOCK(__section_alignment__) :
- {
- *(.debug\$S)
- *(.debug\$T)
- *(.debug\$F)
- *(.drectve)
- ;
- }
-}
-EOF