+2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ldlang.c (lang_vers_match): Check demangled symbols.
+
 2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>
 
        * ldlang.c (lang_vers_match): Check "symbol" instead of
 
       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)
              {
                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
              {
                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