* elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging
authorKaz Kojima <kkojima@rr.iij4u.or.jp>
Sun, 22 Oct 2006 01:02:38 +0000 (01:02 +0000)
committerKaz Kojima <kkojima@rr.iij4u.or.jp>
Sun, 22 Oct 2006 01:02:38 +0000 (01:02 +0000)
only when the non visibility part of st_other is non-zero.
* elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.

bfd/ChangeLog
bfd/elf32-sh64.c
bfd/elf64-sh64.c

index d007593..b997450 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-21  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging
+       only when the non visibility part of st_other is non-zero.
+       * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.
+
 2006-10-20  Richard Sandiford  <richard@codesourcery.com>
 
        * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend
index 03d5e3e..9ad795e 100644 (file)
@@ -742,9 +742,9 @@ static void
 sh64_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
                                 const Elf_Internal_Sym *isym,
                                 bfd_boolean definition,
-                                bfd_boolean dynamic)
+                                bfd_boolean dynamic ATTRIBUTE_UNUSED)
 {
-  if (isym->st_other != 0 && dynamic)
+  if ((isym->st_other & ~ELF_ST_VISIBILITY (-1)) != 0)
     {
       unsigned char other;
 
index 5ebea96..731995f 100644 (file)
@@ -4020,9 +4020,9 @@ static void
 sh64_elf64_merge_symbol_attribute (struct elf_link_hash_entry *h,
                                   const Elf_Internal_Sym *isym,
                                   bfd_boolean definition,
-                                  bfd_boolean dynamic)
+                                  bfd_boolean dynamic ATTRIBUTE_UNUSED)
 {
-  if (isym->st_other != 0 && dynamic)
+  if ((isym->st_other & ~ELF_ST_VISIBILITY (-1)) != 0)
     {
       unsigned char other;