OSDN Git Service

PR 10474
authorAlan Modra <amodra@bigpond.net.au>
Mon, 10 Aug 2009 07:50:56 +0000 (07:50 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Mon, 10 Aug 2009 07:50:56 +0000 (07:50 +0000)
commita2b3ab323ddd4a6baf939e010e2223b7fc8ba4a5
treefa7850ddc9e35153d4c628e2a56534566677d816
parent1f59cfa678c0c3efef90cec31d64c98141361bf0
PR 10474
* ldemul.c (after_allocation_default): Run lang_relax_sections.
* ldlang.h (lang_relax_sections): Declare.
* ldlang.c (relax_sections): Delete.
(lang_relax_sections): New function.
(lang_process): Don't relax directly from here.
* emultempl/alphaelf.em (alpha_finish): Call finish_default.
* emultempl/armelf.em (arm_elf_after_allocation): Delete.  Move body..
(gld${EMULATION_NAME}_finish): ..to here.  Move existing code..
(gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
(LDEMUL_AFTER_ALLOCATION): Update.
* emultempl/avrelf.em (avr_elf_finish, LDEMUL_FINISH): Delete.
(avr_elf_after_allocation): New function.
(LDEMUL_AFTER_ALLOCATION): Define.
* emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Call
lang_relax_sections.
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Delete.  Move..
(gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
(LDEMUL_AFTER_ALLOCATION, LDEMUL_FINISH): Update.
* emultempl/genelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
(gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
(LDEMUL_FINISH): Delete.
(LDEMUL_AFTER_ALLOCATION): Define.
* emultempl/hppaelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
(gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
(LDEMUL_FINISH): Delete.
(LDEMUL_AFTER_ALLOCATION): Define.
* emultempl/m68hc1xelf.em (m68hc11elf_finish): Delete.  Move..
(m68hc11elf_after_allocation): ..to here.  New function.
(LDEMUL_FINISH): Delete.
(LDEMUL_AFTER_ALLOCATION): Define.
* emultempl/m68kelf.em (m68k_elf_after_allocation): Call
gld${EMULATION_NAME}_after_allocation.
* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Call
gld${EMULATION_NAME}_after_allocation.
* emultempl/mmo.em (mmo_finish): Delete.  Move body..
(gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
(LDEMUL_FINISH): Define.
* emultempl/ppc64elf.em (ppc_layout_sections_again): Set elf_gp.
(gld${EMULATION_NAME}_finish): Move code sizing sections..
(gld${EMULATION_NAME}_after_allocation): ..to here.
* emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
Call gld${EMULATION_NAME}_after_allocation.
* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Delete
bfd_elf_discard_info and map_segments call.
18 files changed:
ld/ChangeLog
ld/emultempl/alphaelf.em
ld/emultempl/armelf.em
ld/emultempl/avrelf.em
ld/emultempl/elf-generic.em
ld/emultempl/elf32.em
ld/emultempl/genelf.em
ld/emultempl/hppaelf.em
ld/emultempl/m68hc1xelf.em
ld/emultempl/m68kelf.em
ld/emultempl/mmix-elfnmmo.em
ld/emultempl/mmo.em
ld/emultempl/ppc64elf.em
ld/emultempl/sh64elf.em
ld/emultempl/spuelf.em
ld/ldemul.c
ld/ldlang.c
ld/ldlang.h