From dc84ceef3ac53050c218e388b26f08e35462440c Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Sun, 22 Oct 2006 01:02:38 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-sh64.c | 4 ++-- bfd/elf64-sh64.c | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d00759366bf..b99745081f5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2006-10-21 Kaz Kojima + + * 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 * 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 03d5e3e9df1..9ad795e79d0 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 5ebea96d4ce..731995f2b83 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;