diff options
author | Alan Modra <amodra@bigpond.net.au> | 2003-07-10 00:37:27 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2003-07-10 00:37:27 +0000 |
commit | 4e306aa34aa7f34332241deb383fbd25077b21c5 (patch) | |
tree | f412323e5dbe4992d333b976992d9441c72df2b6 /bfd/elf64-ppc.h | |
parent | d7dd85d6911f8365dbe472ebb3d24c4a1a152fa2 (diff) | |
download | gdb-4e306aa34aa7f34332241deb383fbd25077b21c5.tar.gz |
* elf64-ppc.c (bfd_elf64_mkobject): Define.
(struct ppc64_elf_obj_tdata): New.
(ppc64_elf_tdata, ppc64_tlsld_got): Define.
(ppc64_elf_mkobject): New function.
(struct got_entry): Add "owner". Move "tls_type".
(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
(ppc64_elf_init_stub_bfd): New function.
(create_got_section): Create header .got in dynobj. Create .got
and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
Look for dynobj .got, and test it.
(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
(update_local_sym_info): Likewise.
(ppc64_elf_check_relocs): Likewise.
(ppc64_elf_gc_sweep_hook): Likewise.
(ppc64_elf_tls_optimize): Likewise.
(allocate_dynrelocs): Likewise.
(ppc64_elf_size_dynamic_sections): Likewise.
(ppc64_elf_relocate_section): Likewise.
(ppc64_elf_next_toc_section): Update comment.
(toc_adjusting_stub_needed): Remove unneeded cast.
(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
testing section flags.
(ppc64_elf_build_stubs): Likewise.
(ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
(ppc64_elf_finish_dynamic_sections): Write out got sections.
(func_desc_adjust): Copy over dynamic info for undef weaks.
* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
(ppc64_elf_size_stubs): Update prototype.
* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
input sections rather than scanning dynobj.
Diffstat (limited to 'bfd/elf64-ppc.h')
-rw-r--r-- | bfd/elf64-ppc.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bfd/elf64-ppc.h b/bfd/elf64-ppc.h index 0572d528016..c26df82da8e 100644 --- a/bfd/elf64-ppc.h +++ b/bfd/elf64-ppc.h @@ -17,6 +17,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +void ppc64_elf_init_stub_bfd + (bfd *, struct bfd_link_info *); bfd_boolean ppc64_elf_mark_entry_syms (struct bfd_link_info *); bfd_boolean ppc64_elf_edit_opd @@ -36,7 +38,7 @@ void ppc64_elf_reinit_toc bfd_boolean ppc64_elf_next_input_section (struct bfd_link_info *, asection *); bfd_boolean ppc64_elf_size_stubs - (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma, + (bfd *, struct bfd_link_info *, bfd_signed_vma, asection *(*) (const char *, asection *), void (*) (void)); bfd_boolean ppc64_elf_build_stubs (bfd_boolean, struct bfd_link_info *, char **); |