From b2064611d4230414258b5a3a1e8f49e5b0af2f3f Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Fri, 22 Aug 2008 08:32:40 +0000 Subject: bfd/ 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 | 6 ++++++ bfd/elflink.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0b753bf..dc62936 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2008-08-22 Jakub Jelinek + + 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 * elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA. diff --git a/bfd/elflink.c b/bfd/elflink.c index ec545f9..010c614 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -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); -- cgit v1.1