aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-x86.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elfxx-x86.c')
-rw-r--r--bfd/elfxx-x86.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
index f4dbddf..29d92d2 100644
--- a/bfd/elfxx-x86.c
+++ b/bfd/elfxx-x86.c
@@ -2048,8 +2048,11 @@ _bfd_x86_elf_link_symbol_references_local (struct bfd_link_info *info,
}
/* Symbols created by HIDDEN and PROVIDE_HIDDEN assignments in linker
- script aren't forced local here yet. */
- if (!h->root.ldscript_def)
+ script aren't forced local here yet. bfd_hide_sym_by_version
+ can't be used to check if a versioned symbol is hidden. It has to
+ be syncd with _bfd_elf_link_assign_sym_version to get the correct
+ answer. */
+ if (!h->root.ldscript_def && h->versioned == unversioned)
eh->local_ref = 1;
return FALSE;