Lines Matching refs:mptr

172 file_info_new(struct ps_prochandle *P, map_info_t *mptr)
183 (void) strcpy(fptr->file_pname, mptr->map_pmap.pr_mapname);
184 mptr->map_file = fptr;
197 if ((fptr->file_saddrs = get_saddrs(P, mptr->map_pmap.pr_vaddr,
229 (mp == mptr ? "this file" :
292 map_info_free(struct ps_prochandle *P, map_info_t *mptr)
296 if ((fptr = mptr->map_file) != NULL) {
297 if (fptr->file_map == mptr)
301 if (P->execname && mptr == P->map_exec) {
305 if (P->auxv && (mptr == P->map_exec || mptr == P->map_ldso)) {
310 if (mptr == P->map_exec)
312 if (mptr == P->map_ldso)
325 map_info_t *mptr;
330 if ((mptr = Paddr2mptr(P, lop->rl_base)) == NULL) {
335 if ((fptr = mptr->map_file) == NULL &&
336 (fptr = file_info_new(P, mptr)) == NULL) {
348 fptr->file_map = mptr;
373 if ((Pfindmap(P, mptr, buf, sizeof (buf)) != NULL) &&
383 map_set(struct ps_prochandle *P, map_info_t *mptr, const char *lname)
388 if ((fptr = mptr->map_file) == NULL &&
389 (fptr = file_info_new(P, mptr)) == NULL)
392 fptr->file_map = mptr;
401 fptr->file_lo->rl_base = mptr->map_pmap.pr_vaddr;
403 mptr->map_pmap.pr_vaddr + mptr->map_pmap.pr_size;
412 if ((Pfindmap(P, mptr, buf, sizeof (buf)) != NULL) &&
420 map_info_t *mptr;
425 if ((mptr = object_name_to_map(P, PR_LMID_EVERY, PR_OBJ_EXEC)) != NULL)
426 map_set(P, mptr, "a.out");
433 (mptr = object_name_to_map(P, PR_LMID_EVERY, PR_OBJ_LDSO)) != NULL)
434 map_set(P, mptr, "ld.so.1");
459 map_info_t *mptr;
476 mptr = P->mappings;
489 } else if (pmap->pr_vaddr == mptr->map_pmap.pr_vaddr &&
490 pmap->pr_size == mptr->map_pmap.pr_size &&
491 pmap->pr_offset == mptr->map_pmap.pr_offset &&
493 (mptr->map_pmap.pr_mflags & ~(MA_BREAK | MA_STACK)) &&
494 pmap->pr_pagesize == mptr->map_pmap.pr_pagesize &&
495 pmap->pr_shmid == mptr->map_pmap.pr_shmid &&
496 strcmp(pmap->pr_mapname, mptr->map_pmap.pr_mapname) == 0) {
504 *newp = *mptr;
505 if (P->map_exec == mptr)
507 if (P->map_ldso == mptr)
510 if (mptr->map_file != NULL &&
511 mptr->map_file->file_map == mptr)
512 mptr->map_file->file_map = newp;
514 mptr++;
517 mptr->map_pmap.pr_vaddr) {
523 map_info_free(P, mptr);
528 mptr++;
543 map_info_free(P, mptr);
545 mptr++;
610 map_info_t *mptr;
615 if ((mptr = Paddr2mptr(P, addr)) != NULL) {
616 file_info_t *fptr = build_map_symtab(P, mptr);
617 const prmap_t *pmp = &mptr->map_pmap;
643 map_info_t *mptr;
648 if ((mptr = Paddr2mptr(P, addr)) != NULL)
649 return (&mptr->map_pmap);
661 map_info_t *mptr;
666 if ((mptr = object_name_to_map(P, lmid, name)) != NULL)
667 return (&mptr->map_pmap);
681 map_info_t *mptr;
686 if ((mptr = Paddr2mptr(P, addr)) == NULL)
693 (void) build_map_symtab(P, mptr);
695 return (mptr->map_file->file_lo);
701 map_info_t *mptr;
706 if ((mptr = object_name_to_map(P, lmid, name)) == NULL)
713 (void) build_map_symtab(P, mptr);
715 return (mptr->map_file->file_lo);
805 map_info_t *mptr;
811 if ((mptr = Paddr2mptr(P, addr)) == NULL ||
812 (fptr = mptr->map_file) == NULL)
821 map_info_t *mptr;
827 if ((mptr = object_name_to_map(P, lmid, name)) == NULL ||
828 (fptr = mptr->map_file) == NULL)
898 is_mapping_in_file(struct ps_prochandle *P, map_info_t *mptr, file_info_t *fptr)
900 prmap_t *pmap = &mptr->map_pmap;
935 mstart = mptr->map_pmap.pr_vaddr;
936 mend = mptr->map_pmap.pr_vaddr + mptr->map_pmap.pr_size;
952 build_map_symtab(struct ps_prochandle *P, map_info_t *mptr)
954 prmap_t *pmap = &mptr->map_pmap;
958 if ((fptr = mptr->map_file) != NULL) {
973 fptr->file_lo && is_mapping_in_file(P, mptr, fptr)) {
974 mptr->map_file = fptr;
988 if ((fptr = file_info_new(P, mptr)) == NULL)
991 if (P->map_ldso != mptr) {
997 fptr->file_map = mptr;
1009 fptr->file_map = mptr;
1987 map_info_t *mptr;
1992 for (i = 0, mptr = P->mappings; i < P->map_count; i++, mptr++) {
1993 if (mptr->map_pmap.pr_mapname[0] == '\0')
1995 if (strcmp(mptr->map_pmap.pr_mapname, "a.out") == 0) {
1996 if ((fptr = mptr->map_file) != NULL &&
1999 if (base >= mptr->map_pmap.pr_vaddr &&
2000 base < mptr->map_pmap.pr_vaddr +
2001 mptr->map_pmap.pr_size) /* text space */
2002 return (mptr);
2003 mold = mptr; /* must be the data */
2007 if (!(mptr->map_pmap.pr_mflags & MA_EXEC) ||
2008 (mptr->map_pmap.pr_mflags & MA_WRITE)) {
2009 mold = mptr;
2012 return (mptr);
2122 map_info_t *mptr;
2127 if (P->map_exec == NULL && ((mptr = Paddr2mptr(P,
2128 Pgetauxval(P, AT_ENTRY))) != NULL || (mptr = exec_map(P)) != NULL))
2129 P->map_exec = mptr;
2131 if (P->map_ldso == NULL && (mptr = Paddr2mptr(P,
2133 P->map_ldso = mptr;
2136 mptr = P->map_exec;
2138 mptr = P->map_ldso;
2140 mptr = object_to_map(P, lmid, name);
2142 mptr = NULL;
2144 return (mptr);
2403 map_info_t *mptr;
2408 if ((mptr = Paddr2mptr(P, addr)) == NULL || /* no such address */
2409 (fptr = build_map_symtab(P, mptr)) == NULL || /* no mapped file */
2491 map_info_t *mptr;
2507 if ((mptr = object_name_to_map(P, lmid, oname)) == NULL ||
2508 (fptr = build_map_symtab(P, mptr)) == NULL)
2594 map_info_t *mptr;
2603 for (i = 0, mptr = P->mappings; i < P->map_count; i++, mptr++) {
2604 if ((fptr = mptr->map_file) == NULL)
2610 if ((rc = func(cd, &mptr->map_pmap, object_name)) != 0)
2635 map_info_t *mptr;
2654 if ((mptr = fptr->file_map) == NULL)
2657 if ((rc = func(cd, &mptr->map_pmap, lname)) != 0)
2682 map_info_t *mptr;
2688 if ((mptr = Paddr2mptr(P, addr)) == NULL)
2692 if (((fptr = mptr->map_file) == NULL) ||
2700 if (Pfindmap(P, mptr, buffer, bufsize) != NULL)
2740 map_info_t *mptr;
2746 if ((mptr = Paddr2mptr(P, addr)) != NULL &&
2747 (fptr = mptr->map_file) != NULL && fptr->file_lo != NULL) {
2770 map_info_t *mptr;
2780 if ((mptr = object_name_to_map(P, lmid, object_name)) == NULL)
2783 if ((fptr = build_map_symtab(P, mptr)) == NULL || /* no mapped file */