diff options
author | Richard Henderson <rth@redhat.com> | 2000-02-18 09:23:06 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2000-02-18 09:23:06 +0000 |
commit | c61b8717214f5a3fffc7fd33afe2e205132c82bb (patch) | |
tree | db5bd01f4b4ec29d1c463c5e4f0d793d1a28e9dd /bfd/elf-bfd.h | |
parent | 9365c12ca38698e3b3c5653080714f526204982e (diff) | |
download | gdb-c61b8717214f5a3fffc7fd33afe2e205132c82bb.zip gdb-c61b8717214f5a3fffc7fd33afe2e205132c82bb.tar.gz gdb-c61b8717214f5a3fffc7fd33afe2e205132c82bb.tar.bz2 |
* elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect
and hide_symbol members.
(elf_link_hash_copy_indirect): Remove.
(elf_link_hash_hide_symbol): Remove.
(struct elf_backend_data): Add elf_backend_copy_indirect_symbol
and elf_backend_hide_symbol.
(_bfd_elf_link_hash_copy_indirect): Declare.
(_bfd_elf_link_hash_hide_symbol): Declare.
* elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument.
(_bfd_elf_link_hash_hide_symbol): Likewise.
(_bfd_elf_link_hash_table_init): Don't init killed members.
* elflink.h (elf_link_add_object_symbols): Use the bed function
pointers not elf_link_hash_{copy_indirect,hide_symbol}.
(elf_link_assign_sym_version): Likewise.
* elfxx-target.h (elf_backend_copy_indirect_symbol): Default.
(elf_backend_hide_symbol): Likewise.
(elfNN_bed): Update for new members.
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 *, |