diff options
author | Alan Modra <amodra@gmail.com> | 2011-10-10 13:21:07 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-10-10 13:21:07 +0000 |
commit | 3b421ab3bc02af734421775cbdbcfe98553c65a6 (patch) | |
tree | 8d919952891ebf2aa80f5ed8ed063513dbed6eac /include | |
parent | 9bbc1a67d375f36d009bf5ba8ffd7d9c53511885 (diff) | |
download | gdb-3b421ab3bc02af734421775cbdbcfe98553c65a6.zip gdb-3b421ab3bc02af734421775cbdbcfe98553c65a6.tar.gz gdb-3b421ab3bc02af734421775cbdbcfe98553c65a6.tar.bz2 |
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.
Diffstat (limited to 'include')
-rw-r--r-- | include/elf/ChangeLog | 4 | ||||
-rw-r--r-- | include/elf/ppc64.h | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index eece8a8..3696543 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,7 @@ +2011-10-10 Alan Modra <amodra@gmail.com> + + * ppc64.h (R_PPC64_TOCSAVE): Add. + 2011-10-05 DJ Delorie <dj@redhat.com> * rx.h (E_FLAG_RX_PID): New. diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h index a18edd6..f1c80f1 100644 --- a/include/elf/ppc64.h +++ b/include/elf/ppc64.h @@ -1,5 +1,5 @@ /* PPC64 ELF support for BFD. - Copyright 2003, 2005, 2009, 2010 Free Software Foundation, Inc. + Copyright 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -139,6 +139,7 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106) RELOC_NUMBER (R_PPC64_TLSGD, 107) RELOC_NUMBER (R_PPC64_TLSLD, 108) + RELOC_NUMBER (R_PPC64_TOCSAVE, 109) #ifndef RELOC_MACROS_GEN_FUNC /* Fake relocation only used internally by ld. */ |