summaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2006-02-24 15:47:25 +0000
committerH.J. Lu <hjl@lucon.org>2006-02-24 15:47:25 +0000
commitff9d7c15c0f64d931c8083ae2b87d952fc418e9f (patch)
tree5340997d6f54f5b1bdc8f3c5014186eeb96fa33b /bfd/elf-bfd.h
parent804f24bbeb39407b12bad6944b5c1ca3dc8cede4 (diff)
downloadgdb-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.h7
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 *(*)