jhb 91d07047c4 Add a mask of optional ptrace() events.
ptrace() now stores a mask of optional events in p_ptevents.  Currently
this mask is a single integer, but it can be expanded into an array of
integers in the future.

Two new ptrace requests can be used to manipulate the event mask:
PT_GET_EVENT_MASK fetches the current event mask and PT_SET_EVENT_MASK
sets the current event mask.

The current set of events include:
- PTRACE_EXEC: trace calls to execve().
- PTRACE_SCE: trace system call entries.
- PTRACE_SCX: trace syscam call exits.
- PTRACE_FORK: trace forks and auto-attach to new child processes.
- PTRACE_LWP: trace LWP events.

The S_PT_SCX and S_PT_SCE events in the procfs p_stops flags have
been replaced by PTRACE_SCE and PTRACE_SCX.  PTRACE_FORK replaces
P_FOLLOW_FORK and PTRACE_LWP replaces P2_LWP_EVENTS.

The PT_FOLLOW_FORK and PT_LWP_EVENTS ptrace requests remain for
compatibility but now simply toggle corresponding flags in the
event mask.

While here, document that PT_SYSCALL, PT_TO_SCE, and PT_TO_SCX both
modify the event mask and continue the traced process.

Reviewed by:	kib
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D7044
2016-07-15 15:32:09 +00:00
..
2015-06-13 19:20:56 +00:00
MFH
2016-04-04 23:55:32 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-02-10 04:20:39 +00:00
MFH
2016-03-02 16:14:46 +00:00
2016-05-12 03:53:20 +00:00
2016-06-14 16:55:05 +00:00
MFH
2016-03-02 16:14:46 +00:00
2016-02-16 02:14:30 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-04-04 23:55:32 +00:00
2016-06-04 14:57:25 +00:00
MFH
2016-03-14 18:54:29 +00:00
MFH
2016-04-11 15:24:59 +00:00
2016-05-18 15:25:45 +00:00
MFH
2016-04-13 16:19:50 +00:00
2016-05-29 01:43:28 +00:00
MFH
2016-04-16 02:32:12 +00:00
MFH
2016-04-04 23:55:32 +00:00