Lines Matching refs:mptr

171 file_info_new(struct ps_prochandle *P, map_info_t *mptr)  in file_info_new()  argument
182 (void) strcpy(fptr->file_pname, mptr->map_pmap.pr_mapname); in file_info_new()
183 mptr->map_file = fptr; in file_info_new()
196 if ((fptr->file_saddrs = get_saddrs(P, mptr->map_pmap.pr_vaddr, in file_info_new()
228 (mp == mptr ? "this file" : in file_info_new()
291 map_info_free(struct ps_prochandle *P, map_info_t *mptr) in map_info_free() argument
295 if ((fptr = mptr->map_file) != NULL) { in map_info_free()
296 if (fptr->file_map == mptr) in map_info_free()
300 if (P->execname && mptr == P->map_exec) { in map_info_free()
304 if (P->auxv && (mptr == P->map_exec || mptr == P->map_ldso)) { in map_info_free()
309 if (mptr == P->map_exec) in map_info_free()
311 if (mptr == P->map_ldso) in map_info_free()
324 map_info_t *mptr; in map_iter() local
329 if ((mptr = Paddr2mptr(P, lop->rl_base)) == NULL) { in map_iter()
334 if ((fptr = mptr->map_file) == NULL && in map_iter()
335 (fptr = file_info_new(P, mptr)) == NULL) { in map_iter()
347 fptr->file_map = mptr; in map_iter()
372 if ((Pfindmap(P, mptr, buf, sizeof (buf)) != NULL) && in map_iter()
382 map_set(struct ps_prochandle *P, map_info_t *mptr, const char *lname) in map_set() argument
387 if ((fptr = mptr->map_file) == NULL && in map_set()
388 (fptr = file_info_new(P, mptr)) == NULL) in map_set()
391 fptr->file_map = mptr; in map_set()
400 fptr->file_lo->rl_base = mptr->map_pmap.pr_vaddr; in map_set()
402 mptr->map_pmap.pr_vaddr + mptr->map_pmap.pr_size; in map_set()
411 if ((Pfindmap(P, mptr, buf, sizeof (buf)) != NULL) && in map_set()
419 map_info_t *mptr; in load_static_maps() local
424 if ((mptr = object_name_to_map(P, PR_LMID_EVERY, PR_OBJ_EXEC)) != NULL) in load_static_maps()
425 map_set(P, mptr, "a.out"); in load_static_maps()
432 (mptr = object_name_to_map(P, PR_LMID_EVERY, PR_OBJ_LDSO)) != NULL) in load_static_maps()
433 map_set(P, mptr, "ld.so.1"); in load_static_maps()
455 map_info_t *mptr; in Pupdate_maps() local
486 mptr = P->mappings; in Pupdate_maps()
499 } else if (pmap->pr_vaddr == mptr->map_pmap.pr_vaddr && in Pupdate_maps()
500 pmap->pr_size == mptr->map_pmap.pr_size && in Pupdate_maps()
501 pmap->pr_offset == mptr->map_pmap.pr_offset && in Pupdate_maps()
503 (mptr->map_pmap.pr_mflags & ~(MA_BREAK | MA_STACK)) && in Pupdate_maps()
504 pmap->pr_pagesize == mptr->map_pmap.pr_pagesize && in Pupdate_maps()
505 pmap->pr_shmid == mptr->map_pmap.pr_shmid && in Pupdate_maps()
506 strcmp(pmap->pr_mapname, mptr->map_pmap.pr_mapname) == 0) { in Pupdate_maps()
514 *newp = *mptr; in Pupdate_maps()
515 if (P->map_exec == mptr) in Pupdate_maps()
517 if (P->map_ldso == mptr) in Pupdate_maps()
520 if (mptr->map_file != NULL && in Pupdate_maps()
521 mptr->map_file->file_map == mptr) in Pupdate_maps()
522 mptr->map_file->file_map = newp; in Pupdate_maps()
524 mptr++; in Pupdate_maps()
527 mptr->map_pmap.pr_vaddr) { in Pupdate_maps()
533 map_info_free(P, mptr); in Pupdate_maps()
538 mptr++; in Pupdate_maps()
553 map_info_free(P, mptr); in Pupdate_maps()
555 mptr++; in Pupdate_maps()
620 map_info_t *mptr; in Paddr_to_text_map() local
625 if ((mptr = Paddr2mptr(P, addr)) != NULL) { in Paddr_to_text_map()
626 file_info_t *fptr = build_map_symtab(P, mptr); in Paddr_to_text_map()
627 const prmap_t *pmp = &mptr->map_pmap; in Paddr_to_text_map()
653 map_info_t *mptr; in Paddr_to_map() local
658 if ((mptr = Paddr2mptr(P, addr)) != NULL) in Paddr_to_map()
659 return (&mptr->map_pmap); in Paddr_to_map()
671 map_info_t *mptr; in Plmid_to_map() local
676 if ((mptr = object_name_to_map(P, lmid, name)) != NULL) in Plmid_to_map()
677 return (&mptr->map_pmap); in Plmid_to_map()
691 map_info_t *mptr; in Paddr_to_loadobj() local
696 if ((mptr = Paddr2mptr(P, addr)) == NULL) in Paddr_to_loadobj()
703 (void) build_map_symtab(P, mptr); in Paddr_to_loadobj()
705 return (mptr->map_file->file_lo); in Paddr_to_loadobj()
711 map_info_t *mptr; in Plmid_to_loadobj() local
716 if ((mptr = object_name_to_map(P, lmid, name)) == NULL) in Plmid_to_loadobj()
723 (void) build_map_symtab(P, mptr); in Plmid_to_loadobj()
725 return (mptr->map_file->file_lo); in Plmid_to_loadobj()
815 map_info_t *mptr; in Paddr_to_ctf() local
821 if ((mptr = Paddr2mptr(P, addr)) == NULL || in Paddr_to_ctf()
822 (fptr = mptr->map_file) == NULL) in Paddr_to_ctf()
831 map_info_t *mptr; in Plmid_to_ctf() local
837 if ((mptr = object_name_to_map(P, lmid, name)) == NULL || in Plmid_to_ctf()
838 (fptr = mptr->map_file) == NULL) in Plmid_to_ctf()
943 is_mapping_in_file(struct ps_prochandle *P, map_info_t *mptr, file_info_t *fptr) in is_mapping_in_file() argument
945 prmap_t *pmap = &mptr->map_pmap; in is_mapping_in_file()
980 mstart = mptr->map_pmap.pr_vaddr; in is_mapping_in_file()
981 mend = mptr->map_pmap.pr_vaddr + mptr->map_pmap.pr_size; in is_mapping_in_file()
997 build_map_symtab(struct ps_prochandle *P, map_info_t *mptr) in build_map_symtab() argument
999 prmap_t *pmap = &mptr->map_pmap; in build_map_symtab()
1003 if ((fptr = mptr->map_file) != NULL) { in build_map_symtab()
1018 fptr->file_lo && is_mapping_in_file(P, mptr, fptr)) { in build_map_symtab()
1019 mptr->map_file = fptr; in build_map_symtab()
1033 if ((fptr = file_info_new(P, mptr)) == NULL) in build_map_symtab()
1036 if (P->map_ldso != mptr) { in build_map_symtab()
1042 fptr->file_map = mptr; in build_map_symtab()
1054 fptr->file_map = mptr; in build_map_symtab()
2017 map_info_t *mptr; in exec_map() local
2022 for (i = 0, mptr = P->mappings; i < P->map_count; i++, mptr++) { in exec_map()
2023 if (mptr->map_pmap.pr_mapname[0] == '\0') in exec_map()
2025 if (strcmp(mptr->map_pmap.pr_mapname, "a.out") == 0) { in exec_map()
2026 if ((fptr = mptr->map_file) != NULL && in exec_map()
2029 if (base >= mptr->map_pmap.pr_vaddr && in exec_map()
2030 base < mptr->map_pmap.pr_vaddr + in exec_map()
2031 mptr->map_pmap.pr_size) /* text space */ in exec_map()
2032 return (mptr); in exec_map()
2033 mold = mptr; /* must be the data */ in exec_map()
2037 if (!(mptr->map_pmap.pr_mflags & MA_EXEC) || in exec_map()
2038 (mptr->map_pmap.pr_mflags & MA_WRITE)) { in exec_map()
2039 mold = mptr; in exec_map()
2042 return (mptr); in exec_map()
2152 map_info_t *mptr; in object_name_to_map() local
2157 if (P->map_exec == NULL && ((mptr = Paddr2mptr(P, in object_name_to_map()
2158 Pgetauxval(P, AT_ENTRY))) != NULL || (mptr = exec_map(P)) != NULL)) in object_name_to_map()
2159 P->map_exec = mptr; in object_name_to_map()
2161 if (P->map_ldso == NULL && (mptr = Paddr2mptr(P, in object_name_to_map()
2163 P->map_ldso = mptr; in object_name_to_map()
2166 mptr = P->map_exec; in object_name_to_map()
2168 mptr = P->map_ldso; in object_name_to_map()
2170 mptr = object_to_map(P, lmid, name); in object_name_to_map()
2172 mptr = NULL; in object_name_to_map()
2174 return (mptr); in object_name_to_map()
2433 map_info_t *mptr; in i_Pxlookup_by_addr() local
2438 if ((mptr = Paddr2mptr(P, addr)) == NULL || /* no such address */ in i_Pxlookup_by_addr()
2439 (fptr = build_map_symtab(P, mptr)) == NULL || /* no mapped file */ in i_Pxlookup_by_addr()
2521 map_info_t *mptr; in Pxlookup_by_name() local
2537 if ((mptr = object_name_to_map(P, lmid, oname)) == NULL || in Pxlookup_by_name()
2538 (fptr = build_map_symtab(P, mptr)) == NULL) in Pxlookup_by_name()
2624 map_info_t *mptr; in i_Pmapping_iter() local
2633 for (i = 0, mptr = P->mappings; i < P->map_count; i++, mptr++) { in i_Pmapping_iter()
2634 if ((fptr = mptr->map_file) == NULL) in i_Pmapping_iter()
2640 if ((rc = func(cd, &mptr->map_pmap, object_name)) != 0) in i_Pmapping_iter()
2665 map_info_t *mptr; in i_Pobject_iter() local
2684 if ((mptr = fptr->file_map) == NULL) in i_Pobject_iter()
2687 if ((rc = func(cd, &mptr->map_pmap, lname)) != 0) in i_Pobject_iter()
2712 map_info_t *mptr; in i_Pobjname() local
2718 if ((mptr = Paddr2mptr(P, addr)) == NULL) in i_Pobjname()
2722 if (((fptr = mptr->map_file) == NULL) || in i_Pobjname()
2730 if (Pfindmap(P, mptr, buffer, bufsize) != NULL) in i_Pobjname()
2770 map_info_t *mptr; in Plmid() local
2776 if ((mptr = Paddr2mptr(P, addr)) != NULL && in Plmid()
2777 (fptr = mptr->map_file) != NULL && fptr->file_lo != NULL) { in Plmid()
2800 map_info_t *mptr; in Psymbol_iter_com() local
2810 if ((mptr = object_name_to_map(P, lmid, object_name)) == NULL) in Psymbol_iter_com()
2813 if ((fptr = build_map_symtab(P, mptr)) == NULL || /* no mapped file */ in Psymbol_iter_com()