From 829da89821d7f0b7663b8314128fa06878d228e0 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 9 Dec 2009 01:26:03 +0000 Subject: PR ld/11012 * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Move .rela.opd .. (INITIAL_RELOC_SECTIONS): .. to here. New define. * scripttempl/elf.sc: Expand INITIAL_RELOC_SECTIONS. --- ld/emulparams/elf64ppc.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ld/emulparams') diff --git a/ld/emulparams/elf64ppc.sh b/ld/emulparams/elf64ppc.sh index b9631b6..c9337ea 100644 --- a/ld/emulparams/elf64ppc.sh +++ b/ld/emulparams/elf64ppc.sh @@ -28,9 +28,11 @@ else .got 0 : { *(.got) } .toc 0 : { *(.toc) }" fi +# Put .opd relocs first so ld.so will process them before any ifunc relocs. +INITIAL_RELOC_SECTIONS=" + .rela.opd ${RELOCATING-0} : { *(.rela.opd) }" OTHER_GOT_RELOC_SECTIONS=" .rela.toc ${RELOCATING-0} : { *(.rela.toc) } - .rela.opd ${RELOCATING-0} : { *(.rela.opd) } .rela.branch_lt ${RELOCATING-0} : { *(.rela.branch_lt) }" OTHER_READWRITE_SECTIONS=" .toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) } -- cgit v1.1