diff options
author | H.J. Lu <hjl@lucon.org> | 2006-02-24 15:47:25 +0000 |
---|---|---|
committer | H.J. Lu <hjl@lucon.org> | 2006-02-24 15:47:25 +0000 |
commit | ff9d7c15c0f64d931c8083ae2b87d952fc418e9f (patch) | |
tree | 5340997d6f54f5b1bdc8f3c5014186eeb96fa33b /bfd/elf-bfd.h | |
parent | 804f24bbeb39407b12bad6944b5c1ca3dc8cede4 (diff) | |
download | gdb-ff9d7c15c0f64d931c8083ae2b87d952fc418e9f.tar.gz |
2006-02-24 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2218
* elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
(_bfd_elf_link_hash_fixup_symbol): New.
* elflink.c (_bfd_elf_link_hash_fixup_symbol): New.
(_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if
it isn't NULL.
* elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
* elfxx-target.h (elf_backend_fixup_symbol): New.
(elfNN_bed): Initialize elf_backend_fixup_symbol.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index b81f440283e..4181e368bd6 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -883,6 +883,11 @@ struct elf_backend_data void (*elf_backend_hide_symbol) (struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean); + /* A function to do additional symbol fixup, called by + _bfd_elf_fix_symbol_flags. */ + bfd_boolean (*elf_backend_fixup_symbol) + (struct bfd_link_info *, struct elf_link_hash_entry *); + /* Merge the backend specific symbol attribute. */ void (*elf_backend_merge_symbol_attribute) (struct elf_link_hash_entry *, const Elf_Internal_Sym *, bfd_boolean, @@ -1476,6 +1481,8 @@ extern void _bfd_elf_link_hash_copy_indirect struct elf_link_hash_entry *); extern void _bfd_elf_link_hash_hide_symbol (struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean); +extern bfd_boolean _bfd_elf_link_hash_fixup_symbol + (struct bfd_link_info *, struct elf_link_hash_entry *); extern bfd_boolean _bfd_elf_link_hash_table_init (struct elf_link_hash_table *, bfd *, struct bfd_hash_entry *(*) |