aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-02-24 15:47:25 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-02-24 15:47:25 +0000
commit508c39462ab96fb67c48d04807c999759f5011a0 (patch)
tree3324af9fed7a793e0506e235ba6b35428c20654f /bfd/elf-bfd.h
parent62b3e31101ef2dfb96ee4652d5145e722b335e31 (diff)
downloadfsf-binutils-gdb-508c39462ab96fb67c48d04807c999759f5011a0.zip
fsf-binutils-gdb-508c39462ab96fb67c48d04807c999759f5011a0.tar.gz
fsf-binutils-gdb-508c39462ab96fb67c48d04807c999759f5011a0.tar.bz2
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 b81f440..4181e36 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 *(*)