aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2000-02-13 23:11:32 +0000
committerRichard Henderson <rth@redhat.com>2000-02-13 23:11:32 +0000
commit2920b85c635ae57dc3f6b89f073d252ac3415ce2 (patch)
tree09c0c63f9ce0106e86a59bb35d0b87cdfc06add6 /bfd/elf-bfd.h
parent7f8d5fc90bf3c799976edffa902e03edf1455061 (diff)
downloadgdb-2920b85c635ae57dc3f6b89f073d252ac3415ce2.zip
gdb-2920b85c635ae57dc3f6b89f073d252ac3415ce2.tar.gz
gdb-2920b85c635ae57dc3f6b89f073d252ac3415ce2.tar.bz2
* elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and
hide_symbol members. (elf_link_hash_copy_indirect): New. (elf_link_hash_hide_symbol): New. * elflink.h (elf_link_add_object_symbols): Break out copy from indirect new new symbol to elf.c. (elf_link_assign_sym_version): Break out privatization of non-exported symbol to elf.c. * elf.c (_bfd_elf_link_hash_copy_indirect): New. (_bfd_elf_link_hash_hide_symbol): New. (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r--bfd/elf-bfd.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 302ca7a..6f0624e 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -243,6 +243,12 @@ struct elf_link_hash_table
PTR stab_info;
/* A linked list of local symbols to be added to .dynsym. */
struct elf_link_local_dynamic_entry *dynlocal;
+
+ void (*copy_indirect) PARAMS ((struct elf_link_hash_table *,
+ struct elf_link_hash_entry *,
+ struct elf_link_hash_entry *));
+ void (*hide_symbol) PARAMS ((struct elf_link_hash_table *,
+ struct elf_link_hash_entry *));
};
/* Look up an entry in an ELF linker hash table. */
@@ -263,6 +269,16 @@ struct elf_link_hash_table
/* Get the ELF linker hash table from a link_info structure. */
#define elf_hash_table(p) ((struct elf_link_hash_table *) ((p)->hash))
+
+/* Call the copy_indirect method. */
+
+#define elf_link_hash_copy_indirect(TABLE,DIR,IND) \
+ ((*(TABLE)->copy_indirect) ((TABLE), (DIR), (IND)))
+
+/* Call the hide_symbol method. */
+
+#define elf_link_hash_hide_symbol(TABLE,SYM) \
+ ((*(TABLE)->hide_symbol) ((TABLE), (SYM)))
/* Constant information held for an ELF backend. */