aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2008-11-21 00:02:37 +0000
committerHans-Peter Nilsson <hp@axis.com>2008-11-21 00:02:37 +0000
commit10455f89a67d238ba6c832b873be8d01d7137064 (patch)
treeb293d9679dc2e398075b45bbe6646a8aef182940 /bfd/elf-bfd.h
parent5a29d1a0ec62602a47004fc41ff437d8a9ed77fc (diff)
downloadgdb-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.h10
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 **);