aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-06-01 12:53:00 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-06-01 12:53:00 +0000
commit3aa14d16c669ca75f9fa4e995a2e2d13069dff3f (patch)
tree1a2ad94abb5b713dcbc666eef81faf0cc1efddcd /bfd/elf-bfd.h
parent64c9be2ef34670f6c5498ea1bd0b562465c8fd27 (diff)
downloadgdb-3aa14d16c669ca75f9fa4e995a2e2d13069dff3f.zip
gdb-3aa14d16c669ca75f9fa4e995a2e2d13069dff3f.tar.gz
gdb-3aa14d16c669ca75f9fa4e995a2e2d13069dff3f.tar.bz2
bfd/
2009-06-01 H.J. Lu <hongjiu.lu@intel.com> * elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs. (_bfd_elf_make_ifunc_reloc_section): Removed. (_bfd_elf_is_ifunc_symbol): Likewise. (_bfd_elf_create_static_ifunc_sections): New. * elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC symbol check to ... (elf_link_add_object_symbols): Here. (_bfd_elf_link_hash_hide_symbol): Don't clean plt on STT_GNU_IFUNC symbol. (elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol if a STT_GNU_IFUNC symbol is referenced in a non-shared object. (IFUNC_INFIX): Removed. (get_ifunc_reloc_section_name): Likewise. (_bfd_elf_make_ifunc_reloc_section): Likewise. (_bfd_elf_is_ifunc_symbol): Likewise. (_bfd_elf_create_static_ifunc_sections): New. ld/ 2009-06-01 H.J. Lu <hongjiu.lu@intel.com> * scripttempl/elf.sc (PLT): Add "*(.iplt)". (GOT): Add "*(.igot.plt)a" and "*(.igot)". (GOTPLT): Add "*(.igot)". (__rel_iplt_start): New. (__rel_iplt_end): Likewise. (__rela_iplt_start): Likewise. (__rela_iplt_end): Likewise.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r--bfd/elf-bfd.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index adac206..258d11c 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1299,9 +1299,6 @@ struct bfd_elf_section_data
/* A pointer to the bfd section used for dynamic relocs. */
asection *sreloc;
- /* A pointer to the bfd section used for dynamic relocs against ifunc symbols. */
- asection *indirect_relocs;
-
union {
/* Group name, if this section is a member of a group. */
const char *name;
@@ -2149,15 +2146,12 @@ extern int _bfd_elf_obj_attrs_arg_type (bfd *, int, int);
extern void _bfd_elf_parse_attributes (bfd *, Elf_Internal_Shdr *);
extern bfd_boolean _bfd_elf_merge_object_attributes (bfd *, bfd *);
-extern asection * _bfd_elf_make_ifunc_reloc_section
- (bfd *, asection *, bfd *, unsigned int);
+extern bfd_boolean _bfd_elf_create_static_ifunc_sections
+ (bfd *, struct bfd_link_info *);
/* Large common section. */
extern asection _bfd_elf_large_com_section;
-extern bfd_boolean _bfd_elf_is_ifunc_symbol
- (bfd *, struct elf_link_hash_entry *);
-
/* This is the condition under which finish_dynamic_symbol will be called.
If our finish_dynamic_symbol isn't called, we'll need to do something
about initializing any .plt and .got entries in relocate_section. */