From 7a995eb391ac0ac2b3c59f4dd63d7fdfcb9dc70a Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 24 Oct 2003 15:40:20 +0000 Subject: [PATCH] 2003-10-24 H.J. Lu * ldlang.c (lang_vers_match): Check demangled symbols. --- ld/ChangeLog | 4 ++++ ld/ldlang.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index a6dcf1c..f8efc4d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,9 @@ 2003-10-24 H.J. Lu + * ldlang.c (lang_vers_match): Check demangled symbols. + +2003-10-24 H.J. Lu + * ldlang.c (lang_vers_match): Check "symbol" instead of "wildcard" and "pattern". Fix a typo. (lang_finalize_version_expr_head): Likewise. diff --git a/ld/ldlang.c b/ld/ldlang.c index e57f6f9..df415fc 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4993,7 +4993,7 @@ lang_vers_match (struct bfd_elf_version_expr_head *head, if (!cxx_sym) cxx_sym = sym; } - if (head->mask & BFD_ELF_VERSION_JAVA_TYPE) + else if (head->mask & BFD_ELF_VERSION_JAVA_TYPE) { java_sym = cplus_demangle (sym, DMGL_JAVA); if (!java_sym) @@ -5023,7 +5023,7 @@ lang_vers_match (struct bfd_elf_version_expr_head *head, { e.symbol = cxx_sym; expr = htab_find (head->htab, &e); - while (expr && strcmp (expr->symbol, sym) == 0) + while (expr && strcmp (expr->symbol, cxx_sym) == 0) if (expr->mask == BFD_ELF_VERSION_CXX_TYPE) goto out_ret; else @@ -5035,7 +5035,7 @@ lang_vers_match (struct bfd_elf_version_expr_head *head, { e.symbol = java_sym; expr = htab_find (head->htab, &e); - while (expr && strcmp (expr->symbol, sym) == 0) + while (expr && strcmp (expr->symbol, java_sym) == 0) if (expr->mask == BFD_ELF_VERSION_JAVA_TYPE) goto out_ret; else -- 2.7.4