for (struct link_map *l = GL(dl_loaded); l != NULL; l = l->l_next) if (caller >= l->l_map_start && caller < l->l_map_end) {  match = l; break; }
for (Lmid_t ns = 0; ns < DL_NNS; ++ns) for (struct link_map *l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) if (caller >= l->l_map_start && caller < l->l_map_end) {  match = l; break; }
  const ElfW(Sym) *ref = NULL;  lookup_t result;  ElfW(Addr) caller = (ElfW(Addr)) who;  /* If the address is not recognized the call comes from the main     program (we hope).  */  struct link_map *match = GL(dl_loaded);  /* Find the highest-addressed object that CALLER is not below.  */  for (struct link_map *l = GL(dl_loaded); l != NULL; l = l->l_next)    if (caller >= l->l_map_start && caller < l->l_map_end)      {	/* There must be exactly one DSO for the range of the virtual	   memory.  Otherwise something is really broken.  */	match = l;	break;      }