return current_value.a;
return current_value.m->l_addr;
_dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,			     struct link_map *symbol_scope[],			     const char *reference_name,			     const struct r_found_version *version,			     int reloc_type){  const unsigned long int hash = _dl_elf_hash (undef_name);  struct sym_val current_value = { 0, NULL };  struct link_map **scope;  /* Search the relevant loaded objects for a definition.  */  for (scope = symbol_scope; *scope; ++scope)    {      int res = do_lookup (undef_name, hash, *ref, &current_value,			   (*scope)->l_searchlist, 0, (*scope)->l_nsearchlist,			   reference_name, version, NULL, reloc_type);      if (res > 0)	break;      if (res < 0)	/* Oh, oh.  The file named in the relocation entry does not	   contain the needed symbol.  */	_dl_signal_error (0, (*reference_name			      ? reference_name			      : (_dl_argv[0] ?: "<main program>")),			  make_string ("symbol ", undef_name, ", version ",				       version->name,				       " not defined in file ",				       version->filename,				       " with link time reference",				       res == -2				       ? " (no version symbols)" : ""));    }  if (current_value.s == NULL &&      (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK))    /* We could find no value for a strong reference.  */    _dl_signal_error (0, reference_name,		      make_string (undefined_msg, undef_name,				   ", version ", version->name ?: NULL));  *ref = current_value.s;  return current_value.a;}