include/elf/
authorAlan Modra <amodra@gmail.com>
Mon, 10 Oct 2011 13:21:07 +0000 (13:21 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 10 Oct 2011 13:21:07 +0000 (13:21 +0000)
commit3b421ab3bc02af734421775cbdbcfe98553c65a6
tree8d919952891ebf2aa80f5ed8ed063513dbed6eac
parent9bbc1a67d375f36d009bf5ba8ffd7d9c53511885
include/elf/
* ppc64.h (R_PPC64_TOCSAVE): Add.
bfd/
* elf64-ppc.c (ppc64_elf_howto_table): Add R_PPC64_TOCSAVE entry.
(struct ppc_link_hash_table): Add tocsave_htab.
(struct tocsave_entry): New.
(tocsave_htab_hash, tocsave_htab_eq, tocsave_find): New functions.
(ppc64_elf_link_hash_table_create): Create tocsave_htab..
(ppc64_elf_link_hash_table_free): ..and delete it.
(build_plt_stub): Always put STD_R2_40R1 first.
(ppc64_elf_size_stubs): Check for R_PPC64_TOCSAVE following reloc
on plt call.  If present add prologue nop location to tocsave_htab.
(ppc64_elf_relocate_section): Convert prologue nop to std.  Skip
first insn of plt call stub when R_PPC64_TOCSAVE present.
bfd/ChangeLog
bfd/elf64-ppc.c
include/elf/ChangeLog
include/elf/ppc64.h