* elf32-ppc.c (ppc_elf_check_relocs): Always set up sections
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 5d3be83fdc778bed869dffb2f598b08ffb324163..5a1049380e273c357a42f2c8617c1b29227dfc59 100644 (file)
@@ -1,3 +1,35 @@
+2009-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_check_relocs): Always set up sections
+       used by indirect function support.  Count dynamic relocs for
+       ifunc syms.
+       (ppc_elf_adjust_dynamic_symbol): Tweak for ifunc.
+       (allocate_dynrelocs): Allocate all non-dynamic ifunc plt entries
+       in iplt and their relocs in reliplt.  Don't make ifunc syms
+       dynamic.  Allocate got entry relocs for non-dynamic ifunc in
+       reliplt.  Handle other dynamic relocs for ifunc.
+       (ppc_elf_size_dynamic_sections): Alloc dyn relocs for static
+       ifunc in reliplt, likewise relocs for got against local ifunc.
+       Typo fix on reliplt size adjust.
+       (ppc_elf_relocate_section): Don't use plt scheme of allocating
+       relocs 1-1 with entries for iplt, instead just add using
+       reloc_count.  Write got relocs and dyn relocs for ifunc to reliplt.
+       Error on invalid ifunc dyn relocs.
+       (ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt
+       in iplt/reliplt.
+       * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL,
+       R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA.
+       (ppc64_elf_reloc_type_lookup): Handle new relocs.
+       (ppc64_elf_check_relocs): Likewise.  Count dyn relocs for ifunc.
+       (allocate_dynrelocs): As for elf32-ppc.c above.
+       (ppc64_elf_size_dynamic_sections): Likewise.
+       (ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt,
+       and their relocs in reliplt.  Use R_PPC64_JMP_IREL.
+       (ppc_size_one_stub): Similarly.
+       (ppc64_elf_relocate_section): As for elf32-ppc.c above.  Handle new
+       relocs too.
+       (ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above.
+
 2009-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
 
        * elf64-mmix.c (mmix_elf_relax_section): Revert 2009-05-27
This page took 0.024131 seconds and 4 git commands to generate.