diff options
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 0a438ef..0dcecdf 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -243,12 +243,6 @@ 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. */ @@ -269,16 +263,6 @@ 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. */ @@ -609,6 +593,16 @@ struct elf_backend_data boolean (*) PARAMS ((PTR, const char *, Elf_Internal_Sym *, asection *)))); + /* Copy any information related to dynamic linking from a pre-existing + symbol IND to a newly created symbol DIR. */ + void (*elf_backend_copy_indirect_symbol) + PARAMS ((struct elf_link_hash_entry *, struct elf_link_hash_entry *)); + + /* Modify any information related to dynamic linking such that the + symbol is not exported. */ + void (*elf_backend_hide_symbol) + PARAMS ((struct elf_link_hash_entry *)); + /* The swapping table to use when dealing with ECOFF information. Used for the MIPS ELF .mdebug section. */ const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap; @@ -973,6 +967,10 @@ extern struct bfd_hash_entry *_bfd_elf_link_hash_newfunc PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); extern struct bfd_link_hash_table *_bfd_elf_link_hash_table_create PARAMS ((bfd *)); +extern void _bfd_elf_link_hash_copy_indirect + PARAMS ((struct elf_link_hash_entry *, struct elf_link_hash_entry *)); +extern void _bfd_elf_link_hash_hide_symbol + PARAMS ((struct elf_link_hash_entry *)); extern boolean _bfd_elf_link_hash_table_init PARAMS ((struct elf_link_hash_table *, bfd *, struct bfd_hash_entry *(*) (struct bfd_hash_entry *, |