Added:
support QPassSignals (PT_SET_SIGPASS/PT_GET_SIGPASS) in the kernel, a way to
stop routing a set of signals to tracer as they are uninteresting - GDB and
LLDB expect this feature
Added entries:
ptrace(2): Add new API replacing PT_WATCHPOINT for Debug Registers:
PT_GETDBREGS and PT_SETDBREGS
siginfo(2): Add new si_code values for SIGTRAP: TRAP_SCE and TRAP_SCX
Sponsored by <The NetBSD Foundation>
Remove entries:
- add new ptrace(2) calls to lock (suspend) and unlock LWP within a process
- switch PT_WATCHPOINT* to PT_*ETDBREGS and document it, add ATF tests
- add ATF tests for PT_SYSCALL and PT_SYSCALLEMU
Sponsored by <The NetBSD Foundation>
It replaces previous TRAP_HWWPT and is designed to be used for debug
register traps (both watchpoints and breakpoints).
TRAP_HWWPT wasn't documented in siginfo(2) neither noted in doc/CHANGES -
- document it and add new entry in CHANGES. This move is a step towards
switch the watchpoint ptrace(2) api to PT_*DBREGS.
This code was introduced recently and has no impact on stable releases.
Sponsored by <The NetBSD Foundation>
Remove:
- add PT_SET_SIGMASK and PT_GET_SIGMASK - used by checkpointing software
This interface has been committed to HEAD.
Sponsored by <The NetBSD Foundation>
Added entries:
- add support to read debugger events via a file descriptor in procfs
(kevent(2)), it's still useful in cases when a parent traces tracee and has
to call waitpid(2) for its child - as this clashes with GUI toolkits
- fix more calls for netbsd32 compat
Sponsored by <The NetBSD Foundation>
Remove entries:
- remove exect(3) from libc - there is no usecase for it
Interface has been marked obsolete and it's on the queue to be removed for.
- research what happens when a tracee masks signals (including SIGTRAP) and a
breakpoint is triggered
It has been researched and ATF tests added (signal1 .. signal10).
It's currently broken on NetBSD.
Add:
- research support PT_SYSCALL & PT_STEP combined like in Linux
There are circumstances when we want to sstep and catch syscall events.
Sponsored by <The NetBSD Foundation>
libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.
Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).
Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.
Sponsored by <The NetBSD Foundation>
Note PT_WATCHPOINT change to PT_*ETDBREGS.
Remove GDB and LLDB related entries from generic ptrace(2) TODO.
Note need for TRAP_SCE and TRAP_SCX si_codes in PT_SYSCALL*.
Note removal request of pthread_dbg(3).
Sponsord by <The NetBSD Foundation>