Include OBJT_PHYS VM objects in ELF core dumps. In particular this

includes the shared page allowing debuggers to use the signal trampoline
code to identify signal frames in core dumps.

Differential Revision:	https://reviews.freebsd.org/D1828
Reviewed by:	alc, kib
MFC after:	1 week
This commit is contained in:
jhb 2015-02-14 17:12:31 +00:00
parent 4247c4fbb3
commit de820a9105
2 changed files with 4 additions and 2 deletions

View File

@ -1401,7 +1401,8 @@ each_writable_segment(td, func, closure)
object = backing_object; object = backing_object;
} }
ignore_entry = object->type != OBJT_DEFAULT && ignore_entry = object->type != OBJT_DEFAULT &&
object->type != OBJT_SWAP && object->type != OBJT_VNODE; object->type != OBJT_SWAP && object->type != OBJT_VNODE &&
object->type != OBJT_PHYS;
VM_OBJECT_RUNLOCK(object); VM_OBJECT_RUNLOCK(object);
if (ignore_entry) if (ignore_entry)
continue; continue;

View File

@ -511,7 +511,8 @@ readmap(pid_t pid)
((pflags & PFLAGS_FULL) == 0 && ((pflags & PFLAGS_FULL) == 0 &&
kve->kve_type != KVME_TYPE_DEFAULT && kve->kve_type != KVME_TYPE_DEFAULT &&
kve->kve_type != KVME_TYPE_VNODE && kve->kve_type != KVME_TYPE_VNODE &&
kve->kve_type != KVME_TYPE_SWAP)) kve->kve_type != KVME_TYPE_SWAP &&
kve->kve_type != KVME_TYPE_PHYS))
continue; continue;
ent = calloc(1, sizeof(*ent)); ent = calloc(1, sizeof(*ent));