return current_value.a;
return current_value.m->l_addr;
_dl_lookup_symbol_skip (const char *undef_name, const ElfW(Sym) **ref,			struct link_map *symbol_scope[],			const char *reference_name,			struct link_map *skip_map){  const unsigned long int hash = _dl_elf_hash (undef_name);  struct sym_val current_value = { 0, NULL };  struct link_map **scope;  size_t i;  /* Search the relevant loaded objects for a definition.  */  scope = symbol_scope;  for (i = 0; (*scope)->l_dupsearchlist[i] != skip_map; ++i)    assert (i < (*scope)->l_ndupsearchlist);  if (! do_lookup (undef_name, hash, *ref, &current_value,		   (*scope)->l_dupsearchlist, i, (*scope)->l_ndupsearchlist,		   reference_name, NULL, skip_map, 0))    while (*++scope)      if (do_lookup (undef_name, hash, *ref, &current_value,		     (*scope)->l_dupsearchlist, 0, (*scope)->l_ndupsearchlist,		     reference_name, NULL, skip_map, 0))	break;  *ref = current_value.s;  return current_value.a;}