PR ld/6511
authorNick Clifton <nickc@redhat.com>
Fri, 30 May 2008 16:13:53 +0000 (16:13 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 30 May 2008 16:13:53 +0000 (16:13 +0000)
        * elf64-hppa.c (allocate_global_data_opd): Default to using the
        dynamic symbol table for local function names in shared libraries.

bfd/ChangeLog
bfd/elf64-hppa.c

index e980d90..6a4c90b 100644 (file)
@@ -1,3 +1,10 @@
+2008-05-30  Frediano Ziglio  <frediano.ziglio@vodafone.com>
+           Nick Clifton  <nickc@redhat.com>
+
+       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  <jan.kratochvil@redhat.com>
 
        * elf.c (assign_file_positions_for_load_sections): Adjust pre-section
index b2dafdd..2359add 100644 (file)
@@ -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)