Lines Matching refs:mp
203 load_map(struct ps_prochandle *procp, caddr_t baddr, map_info_t *mp)
259 mp->mi_elf = elf;
260 mp->mi_flags = 0;
261 mp->mi_mapfd = filefd;
263 if (gelf_getehdr(mp->mi_elf, &ehdr) == NULL) {
265 (void) elf_end(mp->mi_elf);
268 mp->mi_ehdr = ehdr;
270 mp->mi_flags |= FLG_MI_EXEC;
272 mp->mi_end = 0;
274 mp->mi_addr = (ulong_t)0xffffffffffffffff;
276 mp->mi_addr = (ulong_t)0xffffffff;
279 if (gelf_getphdr(mp->mi_elf, cnt, &phdr) == NULL) {
281 (void) elf_end(mp->mi_elf);
286 if (mp->mi_end < (ulong_t)(phdr.p_vaddr +
288 mp->mi_end = (ulong_t)(phdr.p_vaddr +
290 if (mp->mi_addr > phdr.p_vaddr)
291 mp->mi_addr = phdr.p_vaddr;
295 mp->mi_pltbase = 0;
296 mp->mi_pltsize = 0;
297 mp->mi_pltentsz = 0;
298 mp->mi_dynsym.st_symn = 0;
299 while ((scn = elf_nextscn(mp->mi_elf, scn)) != NULL) {
306 (void) elf_end(mp->mi_elf);
313 mp->mi_dynsym.st_syms_pri = dp;
314 tscn = elf_getscn(mp->mi_elf, shdr.sh_link);
315 mp->mi_dynsym.st_symn +=
318 mp->mi_dynsym.st_strs = (char *)dp->d_buf;
322 mp->mi_dynsym.st_syms_aux = dp;
323 mp->mi_dynsym.st_symn_aux =
325 mp->mi_dynsym.st_symn += mp->mi_dynsym.st_symn_aux;
329 mp->mi_symtab.st_syms_pri = dp;
330 tscn = elf_getscn(mp->mi_elf, shdr.sh_link);
331 mp->mi_symtab.st_symn =
334 mp->mi_symtab.st_strs = (char *)dp->d_buf;
337 if (strcmp(PLTSECT, elf_strptr(mp->mi_elf,
339 mp->mi_pltbase = shdr.sh_addr;
340 mp->mi_pltsize = shdr.sh_size;
341 mp->mi_pltentsz = shdr.sh_entsize;