Lines Matching refs:loadmap
426 if (!p->loadmap) return p->base + v;
427 for (j=0; v-p->loadmap->segs[j].p_vaddr >= p->loadmap->segs[j].p_memsz; j++);
428 return (void *)(v - p->loadmap->segs[j].p_vaddr + p->loadmap->segs[j].addr);
434 if (!p->loadmap) return p->base + v;
436 size_t a = p->loadmap->segs[j].p_vaddr;
437 size_t b = a + p->loadmap->segs[j].p_memsz;
443 return (void *)(v - p->loadmap->segs[j].p_vaddr + p->loadmap->segs[j].addr);
1347 if (dso->loadmap) {
1349 for (i=0; i<dso->loadmap->nsegs; i++) {
1350 if (!dso->loadmap->segs[i].p_memsz)
1353 munmap((void *)dso->loadmap->segs[i].addr,
1354 dso->loadmap->segs[i].p_memsz);
1356 (void)mprotect((void *)dso->loadmap->segs[i].addr,
1357 dso->loadmap->segs[i].p_memsz, PROT_NONE);
1360 free(dso->loadmap);
1647 dso->loadmap = calloc(1, sizeof *dso->loadmap
1648 + nsegs * sizeof *dso->loadmap->segs);
1649 if (!dso->loadmap) goto error;
1650 dso->loadmap->nsegs = nsegs;
1663 dso->loadmap->segs[i].addr = (size_t)map +
1665 dso->loadmap->segs[i].p_vaddr = ph->p_vaddr;
1666 dso->loadmap->segs[i].p_memsz = ph->p_memsz;
1682 map = (void *)dso->loadmap->segs[0].addr;
3024 ldso.loadmap = p2 ? p2 : p1;
3162 if (DL_FDPIC) app.loadmap = app_loadmap;
3252 if (!app.loadmap) {
3253 app.loadmap = (void *)&app_dummy_loadmap;
3254 app.loadmap->nsegs = 1;
3255 app.loadmap->segs[0].addr = (size_t)app.map;
3256 app.loadmap->segs[0].p_vaddr = (size_t)app.map
3258 app.loadmap->segs[0].p_memsz = app.map_len;
3260 argv[-3] = (void *)app.loadmap;
5258 task->p->loadmap = calloc(1, sizeof(struct fdpic_loadmap) + nsegs * sizeof(struct fdpic_loadseg));
5259 if (!task->p->loadmap) {
5263 task->p->loadmap->nsegs = nsegs;
5280 task->p->loadmap->segs[i].addr = (size_t)map +
5282 task->p->loadmap->segs[i].p_vaddr = ph->p_vaddr;
5283 task->p->loadmap->segs[i].p_memsz = ph->p_memsz;
5298 map = (void *)task->p->loadmap->segs[0].addr;
6215 debug_info->loadmap = so->loadmap;