const Elf32_Sym *ref = NULL;
dlsym (void *handle, const char *name){  struct link_map *map = handle;  struct link_map *real_next;  Elf32_Addr loadbase;  int lose;  void doit (void)    {      const Elf32_Sym *ref = NULL;      loadbase = _dl_lookup_symbol (name, &ref, map, map->l_name, 1);    }  /* Confine the symbol scope to just this map.  */  real_next = map->l_next;  map->l_next = NULL;  lose = _dlerror_run (doit);  map->l_next = real_next;  return lose ? NULL : (void *) (loadbase + ref->st_value);}