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/elflink.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/elflink.h')
-rw-r--r-- | bfd/elflink.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h index 5bce135..78a5e34 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -890,9 +890,11 @@ elf_link_add_object_symbols (abfd, info) struct elf_link_hash_entry *weaks; Elf_External_Sym *esym; Elf_External_Sym *esymend; + struct elf_backend_data *bed; - add_symbol_hook = get_elf_backend_data (abfd)->elf_add_symbol_hook; - collect = get_elf_backend_data (abfd)->collect; + bed = get_elf_backend_data (abfd); + add_symbol_hook = bed->elf_add_symbol_hook; + collect = bed->collect; if ((abfd->flags & DYNAMIC) == 0) dynamic = false; @@ -1734,8 +1736,7 @@ elf_link_add_object_symbols (abfd, info) == 0); ht = (struct elf_link_hash_entry *) hi->root.u.i.link; - elf_link_hash_copy_indirect (elf_hash_table (info), - ht, hi); + (*bed->elf_backend_copy_indirect_symbol) (ht, hi); /* See if the new flags lead us to realize that the symbol must be dynamic. */ @@ -1808,8 +1809,7 @@ elf_link_add_object_symbols (abfd, info) | ELF_LINK_HASH_DEF_REGULAR)) == 0); - elf_link_hash_copy_indirect (elf_hash_table (info), - h, hi); + (*bed->elf_backend_copy_indirect_symbol) (h, hi); /* See if the new flags lead us to realize that the symbol must be dynamic. */ @@ -3600,6 +3600,7 @@ elf_link_assign_sym_version (h, data) struct elf_assign_sym_version_info *sinfo = (struct elf_assign_sym_version_info *) data; struct bfd_link_info *info = sinfo->info; + struct elf_backend_data *bed; struct elf_info_failed eif; char *p; @@ -3618,6 +3619,7 @@ elf_link_assign_sym_version (h, data) if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) return true; + bed = get_elf_backend_data (sinfo->output_bfd); p = strchr (h->root.root.string, ELF_VER_CHR); if (p != NULL && h->verinfo.vertree == NULL) { @@ -3685,8 +3687,7 @@ elf_link_assign_sym_version (h, data) && ! sinfo->export_dynamic) { h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; - elf_link_hash_hide_symbol (elf_hash_table (info), - h); + (*bed->elf_backend_hide_symbol) (h); /* FIXME: The name of the symbol has already been recorded in the dynamic string table section. */ @@ -3798,7 +3799,7 @@ elf_link_assign_sym_version (h, data) && ! sinfo->export_dynamic) { h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; - elf_link_hash_hide_symbol (elf_hash_table (info), h); + (*bed->elf_backend_hide_symbol) (h); /* FIXME: The name of the symbol has already been recorded in the dynamic string table section. */ @@ -3820,7 +3821,7 @@ elf_link_assign_sym_version (h, data) && ! sinfo->export_dynamic) { h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; - elf_link_hash_hide_symbol (elf_hash_table (info), h); + (*bed->elf_backend_hide_symbol) (h); /* FIXME: The name of the symbol has already been recorded in the dynamic string table section. */ } |