* 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 d00759366bfbdfdcd089726ede10ca6233c3b997..b99745081f527e4dd3846272dc5ebe77216c793d 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 03d5e3e9df125c784c935138ee0ce41a39391ff8..9ad795e79d03e080143d02f406c88ab1f01459a8 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 5ebea96d4cebd9fd4ae6e8bfe5dff49d4aa8ee3c..731995f2b832e1d0c1a9f9a9aceac680081207b3 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;