diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2008-11-21 00:02:37 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@axis.com> | 2008-11-21 00:02:37 +0000 |
commit | 10455f89a67d238ba6c832b873be8d01d7137064 (patch) | |
tree | b293d9679dc2e398075b45bbe6646a8aef182940 /bfd/elf-bfd.h | |
parent | 5a29d1a0ec62602a47004fc41ff437d8a9ed77fc (diff) | |
download | gdb-10455f89a67d238ba6c832b873be8d01d7137064.zip gdb-10455f89a67d238ba6c832b873be8d01d7137064.tar.gz gdb-10455f89a67d238ba6c832b873be8d01d7137064.tar.bz2 |
* elf-bfd.h (struct elf_backend_data): New member got_elt_size.
(_bfd_elf_default_got_elt_size): Declare.
* elflink.c (struct alloc_got_off_arg): Replace member got_elt_size
by new member info.
(elf_gc_allocate_got_offsets): Adjust for calling bed->got_elt_size
to get the element size instead of using a gofarg entry.
(bfd_elf_gc_common_finalize_got_offsets): Similar.
(_bfd_elf_default_got_elt_size): New function.
* elfxx-target.h: New macro elf_backend_got_elt_size.
(elfNN_bed): Use it.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 9615a4a..0fd1ed2 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1147,6 +1147,12 @@ struct elf_backend_data so-called reserved entries on some systems. */ bfd_vma got_header_size; + /* The size of the GOT entry for the symbol pointed to by H if non-NULL, + otherwise by the local symbol with index SYMNDX in IBFD. */ + bfd_vma (*got_elt_size) (bfd *, struct bfd_link_info *, + struct elf_link_hash_entry *h, + bfd *ibfd, unsigned long symndx); + /* The vendor name to use for a processor-standard attributes section. */ const char *obj_attrs_vendor; @@ -2070,6 +2076,10 @@ extern asection *_bfd_elf_common_section extern void _bfd_dwarf2_cleanup_debug_info (bfd *); +extern bfd_vma _bfd_elf_default_got_elt_size +(bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, bfd *, + unsigned long); + extern bfd_reloc_status_type _bfd_elf_rel_vtable_reloc_fn (bfd *, arelent *, struct bfd_symbol *, void *, asection *, bfd *, char **); |