From: Nick Clifton Date: Fri, 30 May 2008 16:13:53 +0000 (+0000) Subject: PR ld/6511 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=adfef0bd4784918f644107faf0f01b16fe15cb57;p=binutils-gdb.git PR ld/6511 * elf64-hppa.c (allocate_global_data_opd): Default to using the dynamic symbol table for local function names in shared libraries. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e980d900b19..6a4c90bc3f4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2008-05-30 Frediano Ziglio + Nick Clifton + + PR ld/6511 + * elf64-hppa.c (allocate_global_data_opd): Default to using the + dynamic symbol table for local function names in shared libraries. + 2008-05-29 Jan Kratochvil * elf.c (assign_file_positions_for_load_sections): Adjust pre-section diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index b2dafdd937a..2359adde6d5 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -1175,7 +1175,8 @@ allocate_global_data_opd (dyn_h, data) && (h == NULL || (h->dynindx == -1))) { bfd *owner; - owner = (h ? h->root.u.def.section->owner : dyn_h->owner); + /* PR 6511: Default to using the dynamic symbol table. */ + owner = (dyn_h->owner ? dyn_h->owner: h->root.u.def.section->owner); if (!bfd_elf_link_record_local_dynamic_symbol (x->info, owner, dyn_h->sym_indx)) @@ -2197,8 +2198,8 @@ elf64_hppa_finalize_opd (dyn_h, data) strcpy (new_name + 1, h->root.root.string); nh = elf_link_hash_lookup (elf_hash_table (info), - new_name, FALSE, FALSE, FALSE); - + new_name, TRUE, TRUE, FALSE); + /* All we really want from the new symbol is its dynamic symbol index. */ if (nh)