aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2006-10-22 01:02:38 +0000
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2006-10-22 01:02:38 +0000
commitdc84ceef3ac53050c218e388b26f08e35462440c (patch)
tree57a07afde43c7b131528a0205518164461adae94
parent08b4ae39e5aac7b60bd19f0973fc4f9c046a8113 (diff)
downloadgdb-dc84ceef3ac53050c218e388b26f08e35462440c.zip
gdb-dc84ceef3ac53050c218e388b26f08e35462440c.tar.gz
gdb-dc84ceef3ac53050c218e388b26f08e35462440c.tar.bz2
* 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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-sh64.c4
-rw-r--r--bfd/elf64-sh64.c4
3 files changed, 10 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d007593..b997450 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/elf32-sh64.c b/bfd/elf32-sh64.c
index 03d5e3e..9ad795e 100644
--- a/bfd/elf32-sh64.c
+++ b/bfd/elf32-sh64.c
@@ -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;
diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c
index 5ebea96..731995f 100644
--- a/bfd/elf64-sh64.c
+++ b/bfd/elf64-sh64.c
@@ -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;