Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys
Module Name: src
Committed By: kamil
Date: Tue Jun 11 23:18:55 UTC 2019
Modified Files:
src/sys/kern: kern_exec.c kern_proc.c sys_ptrace_common.c
src/sys/sys: proc.h ptrace.h
Log Message:
Add support for PTRACE_POSIX_SPAWN to report posix_spawn(3) events
posix_spawn(3) is a first class syscall in NetBSD, different to
(V)FORK+EXEC as these operations are executed in one go. This differs to
Linux and FreeBSD, where posix_spawn(3) is implemented with existing kernel
primitives (clone(2), vfork(2), exec(3)) inside libc.
Typically LLDB and GDB software is aware of FORK/VFORK events. As discussed
with the LLDB community, instead of slicing the posix_spawn(3) operation
into phases emulating (V)FORK+EXEC(+VFORK_DONE) and returning intermediate
state to the debugger, that might have abnormal state, introduce new event
type: PTRACE_POSIX_SPAWN.
A debugger implementor can easily map it into existing fork+exec semantics
or treat as a distinct event.
There is no functional change for existing debuggers as there was no
support for reporting posix_spawn(3) events on the kernel side.
To generate a diff of this commit:
cvs rdiff -u -r1.465 -r1.466 src/sys/kern/kern_exec.c
cvs rdiff -u -r1.232 -r1.233 src/sys/kern/kern_proc.c
cvs rdiff -u -r1.54 -r1.55 src/sys/kern/sys_ptrace_common.c
cvs rdiff -u -r1.352 -r1.353 src/sys/sys/proc.h
cvs rdiff -u -r1.64 -r1.65 src/sys/sys/ptrace.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index