Lines Matching defs:mptr

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