(const void *) map->l_info[VERSYMIDX (DT_VERSYM)]->d_un.d_ptr;
(const void *) D_PTR (map, l_info[VERSYMIDX (DT_VERSYM)]);
elf_dynamic_do_rel (struct link_map *map,		    ElfW(Addr) reladdr, ElfW(Addr) relsize,		    int lazy){  const ElfW(Rel) *r = (const void *) reladdr;  const ElfW(Rel) *end = (const void *) (reladdr + relsize);  if (lazy)    {      /* Doing lazy PLT relocations; they need very little info.  */      ElfW(Addr) l_addr = map->l_addr;      for (; r < end; ++r)	elf_machine_lazy_rel (map, l_addr, r);    }  else    {      const ElfW(Sym) *const symtab =	(const void *) map->l_info[DT_SYMTAB]->d_un.d_ptr;      if (map->l_info[VERSYMIDX (DT_VERSYM)])	{	  const ElfW(Half) *const version =	    (const void *) map->l_info[VERSYMIDX (DT_VERSYM)]->d_un.d_ptr;	  for (; r < end; ++r)	    {	      ElfW(Half) ndx = version[ELFW(R_SYM) (r->r_info)];	      elf_machine_rel (map, r, &symtab[ELFW(R_SYM) (r->r_info)],			       &map->l_versions[ndx],			       (void *) (map->l_addr + r->r_offset));	    }	}      else	for (; r < end; ++r)	  elf_machine_rel (map, r, &symtab[ELFW(R_SYM) (r->r_info)], NULL,			   (void *) (map->l_addr + r->r_offset));    }}