OSDN Git Service

bfd/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 22 Aug 2008 08:32:39 +0000 (08:32 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 22 Aug 2008 08:32:39 +0000 (08:32 +0000)
Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations.
* elflink.c (elf_link_add_object_symbols): Make debug symbols local
now only for non-RELOCATABLE targets.

ld/testsuite/
* ld-x86-64/dwarfreloc.exp, ld-x86-64/dwarfreloc.rd,
ld-x86-64/dwarfreloc1.s, ld-x86-64/dwarfreloc2.s: New test.

bfd/ChangeLog
bfd/elflink.c

index 0b753bf..dc62936 100644 (file)
@@ -1,3 +1,9 @@
+2008-08-22  Jakub Jelinek  <jakub@redhat.com>
+
+       Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations.
+       * elflink.c (elf_link_add_object_symbols): Make debug symbols local
+       now only for non-RELOCATABLE targets.
+
 2008-08-20  Bob Wilson  <bob.wilson@acm.org>
 
        * elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA.
index ec545f9..010c614 100644 (file)
@@ -4294,7 +4294,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
                dynsym = TRUE;
            }
 
-         if (definition && (sec->flags & SEC_DEBUGGING))
+         if (definition && (sec->flags & SEC_DEBUGGING) && !info->relocatable)
            {
              /* We don't want to make debug symbol dynamic.  */
              (*bed->elf_backend_hide_symbol) (info, h, TRUE);