PR binutils/10492
authorJakub Jelinek <jakub@redhat.com>
Thu, 6 Aug 2009 13:08:24 +0000 (13:08 +0000)
committerJakub Jelinek <jakub@redhat.com>
Thu, 6 Aug 2009 13:08:24 +0000 (13:08 +0000)
* elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
symbols.
* elf32-mips.c (mips_elf_sym_is_global): Likewise.
* elfn32-mips.c (mips_elf_sym_is_global): Likewise.

bfd/ChangeLog
bfd/elf.c
bfd/elf32-mips.c
bfd/elfn32-mips.c

index c63bc2f..705ee35 100644 (file)
@@ -1,3 +1,12 @@
+2009-08-06  Jakub Jelinek  <jakub@redhat.com>
+           Alan Modra  <amodra@bigpond.net.au>
+
+       PR binutils/10492
+       * elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
+       symbols.
+       * elf32-mips.c (mips_elf_sym_is_global): Likewise.
+       * elfn32-mips.c (mips_elf_sym_is_global): Likewise.
+
 2009-08-06  Nathan Sidwell  <nathan@codesourcery.com>
 
        * elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
index 9863a3a..85829ec 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -3084,7 +3084,7 @@ sym_is_global (bfd *abfd, asymbol *sym)
   if (bed->elf_backend_sym_is_global)
     return (*bed->elf_backend_sym_is_global) (abfd, sym);
 
-  return ((sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
+  return ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0
          || bfd_is_und_section (bfd_get_section (sym))
          || bfd_is_com_section (bfd_get_section (sym)));
 }
index ba3ee91..d80778a 100644 (file)
@@ -1450,7 +1450,7 @@ mips_elf_sym_is_global (bfd *abfd ATTRIBUTE_UNUSED, asymbol *sym)
   if (SGI_COMPAT (abfd))
     return (sym->flags & BSF_SECTION_SYM) == 0;
   else
-    return ((sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
+    return ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0
            || bfd_is_und_section (bfd_get_section (sym))
            || bfd_is_com_section (bfd_get_section (sym)));
 }
index aea3e5a..c1016f3 100644 (file)
@@ -2289,7 +2289,7 @@ mips_elf_sym_is_global (bfd *abfd ATTRIBUTE_UNUSED, asymbol *sym)
   if (SGI_COMPAT (abfd))
     return (sym->flags & BSF_SECTION_SYM) == 0;
   else
-    return ((sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
+    return ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0
            || bfd_is_und_section (bfd_get_section (sym))
            || bfd_is_com_section (bfd_get_section (sym)));
 }