diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 12 | ||||
-rw-r--r-- | ld/Makefile.am | 4 | ||||
-rw-r--r-- | ld/Makefile.in | 6 | ||||
-rw-r--r-- | ld/configure.tgt | 6 | ||||
-rw-r--r-- | ld/emulparams/ppclynx.sh | 12 | ||||
-rw-r--r-- | ld/emulparams/ppcpe.sh | 7 | ||||
-rw-r--r-- | ld/emultempl/beos.em | 21 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 17 | ||||
-rw-r--r-- | ld/po/BLD-POTFILES.in | 2 | ||||
-rw-r--r-- | ld/scripttempl/ppcpe.sc | 208 |
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 |