diff options
author | Alan Modra <amodra@gmail.com> | 2003-12-01 06:28:24 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2003-12-01 06:28:24 +0000 |
commit | 0eddce27a9195929e73ce37c4bd1914b3b88118b (patch) | |
tree | 0601b1d855cf38af52622915e32764d3ecd6cffe /bfd/elflink.c | |
parent | 68c0be47f86d3127f856cd81e840b4124d4d04c8 (diff) | |
download | gdb-0eddce27a9195929e73ce37c4bd1914b3b88118b.zip gdb-0eddce27a9195929e73ce37c4bd1914b3b88118b.tar.gz gdb-0eddce27a9195929e73ce37c4bd1914b3b88118b.tar.bz2 |
* elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
* elf.c (_bfd_elf_merge_sections): Adjust to suit.
(_bfd_elf_link_just_syms): Likewise.
(bfd_elf_get_needed_list): Likewise.
(bfd_elf_get_runpath_list): Likewise.
(_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
* elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
creator flavour.
(elf32_hppa_set_gp): Look up output sections rather than using htab.
* elf32-i960.c: Comment fix. Formatting.
* elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
rather than testing creator flavour.
* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
* elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
is_elf_hash_table change. Remove redundant test.
(bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
testing creator flavour.
(elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
(_bfd_elf_fix_symbol_flags): Likewise.
(_bfd_elf_adjust_dynamic_symbol): Likewise.
* elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant
checks. Use is_elf_hash_table rather than testing creator flavour.
Use hash_table throughout in place of info->hash.
(elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
(NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant
check.
(elf_bfd_final_link): Adjust for is_elf_hash_table change.
(elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
testing creator flavour.
(elf_gc_sections): Add is_elf_hash_table check.
(elf_gc_common_finalize_got_offsets): Likewise.
(elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove
redundant check.
* elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
rather than testing creator flavour.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r-- | bfd/elflink.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c index 44cf1e4..f58a67a 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -117,7 +117,7 @@ _bfd_elf_link_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) struct bfd_link_hash_entry *bh; const struct elf_backend_data *bed; - if (! is_elf_hash_table (info)) + if (! is_elf_hash_table (info->hash)) return FALSE; if (elf_hash_table (info)->dynamic_sections_created) @@ -144,8 +144,7 @@ _bfd_elf_link_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; } - if (! info->traditional_format - && info->hash->creator->flavour == bfd_target_elf_flavour) + if (! info->traditional_format) { s = bfd_make_section (abfd, ".eh_frame_hdr"); if (s == NULL @@ -424,7 +423,7 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED, { struct elf_link_hash_entry *h; - if (info->hash->creator->flavour != bfd_target_elf_flavour) + if (!is_elf_hash_table (info->hash)) return TRUE; h = elf_link_hash_lookup (elf_hash_table (info), name, TRUE, TRUE, FALSE); @@ -494,7 +493,7 @@ elf_link_record_local_dynamic_symbol (struct bfd_link_info *info, Elf_External_Sym_Shndx eshndx; char esym[sizeof (Elf64_External_Sym)]; - if (! is_elf_hash_table (info)) + if (! is_elf_hash_table (info->hash)) return 0; /* See if the entry exists already. */ @@ -2206,7 +2205,7 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, will force it local. */ if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 && eif->info->shared - && is_elf_hash_table (eif->info) + && is_elf_hash_table (eif->info->hash) && (eif->info->symbolic || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) @@ -2276,7 +2275,7 @@ _bfd_elf_adjust_dynamic_symbol (struct elf_link_hash_entry *h, void *data) bfd *dynobj; const struct elf_backend_data *bed; - if (! is_elf_hash_table (eif->info)) + if (! is_elf_hash_table (eif->info->hash)) return FALSE; if (h->root.type == bfd_link_hash_warning) |