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>
Things I want to finish for 8:
- as much as possible from the LLDB, Swift, .NET and VirtualBox projects
- more c11 in libc
Things I want to research for 9:
- turn system utilities into C libraries + add bindings for Lua
- rebase Haiku stack on NetBSD + add Kit(s) accessing libsystem utilities
Drop:
- add ATF tests for PIOD_READ_AUXV
Add new entry:
- research what happens when a tracee masks signals (including SIGTRAP)
and a breakpoint is triggered
Sponsored by <The NetBSD Foundation>
bpf_mtap of some drivers is still called in hardware interrupt context.
We want to run them in softint as well as bpf_mtap of most drivers
(see if_percpuq_softint and if_input).
To this end, bpf_mtap_softint mechanism is implemented; it defers
bpf_mtap processing to a dedicated softint for a target driver.
By using the machanism, we can move bpf_mtap processing to softint
without changing target drivers much while it adds some overhead
on CPU and memory. Once target drivers are changed to softint-based,
we should return to normal bpf_mtap.
Proposed on tech-kern and tech-net
Added new entries:
ptrace(2): Add new options in EVENT_MASK: PTRACE_LWP_CREATE and
PTRACE_LWP_EXIT
siginfo(2): Add new si_code for SIGTRAP: TRAP_LWP
Sponsored by <The NetBSD Foundation>
Removed:
- evaluate equivalent for PTRACE_O_TRACECLONE from Linux
clone(2)-like calls are traced with PTRACE_FORK, PTRACE_VFORK and
PTRACE_VFORK_DONE. VFORK ones block parent till termination or execve(2) of
its child.
Added:
- add proper implementation of PTRACE_VFORK for vfork(2)-like events
Currently PTRACE_VFORK is a stub.
Sponsored by <The NetBSD Foundation>
since the pre-6.0 period and nobody else has been doing the work. There's
a lot of things whose current state I don't know; please fill in. Also the
stuff I've added is necessarily biased towards projects I think about, so
please add more.
1. siginfo_t accessors done
2. PTRACE_O_TRACEEXIT not applicable for NetBSD as we are tracing the whole
process at once, not per thread
3. PTRACE_O_TRACEEXEC implemented as SIGTRAP & TRAP_EXEC
Sponsored by <The NetBSD Foundation>
Added:
ptrace(2): Add new si_code value of SIGTRAP: TRAP_EXEC [kamil 20170107]
ptrace(2): Add signal information accessors API:
PT_GET_SIGINFO and PT_SET_SIGINFO [kamil 20170107]
Sponsored by <The NetBSD Foundation>
Mark exect(3) for removal, there is no use-case for it. exec() is already
monitored and emits SIGTRAP when traced.
Accessor for siginfo_t is not case for PT_IO -- it's not reading/writing
process space of other process, but shared kernel space.
Currently all the MD interfaces are documented, remove this line from TODO.
Add new note:
once the API for hardware watchpoints will stabilize, document it
Sponsored by <The NetBSD Foundation>
Hardware assisted breakpoint/watchpoint API has been merged with current.
Add note about pthread_dbg(3) API needed to be refactored and limited to
querying POSIX thread private data fields.
Sponsored by <The NetBSD Foundation>
- add support for detecting equivalent events to PTRACE_O_TRACEEXEC,
PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXIT from Linux
- exect(3) rething or remove -- maybe PT_TRACE_ME + PTRACE_O_TRACEEXEC?
Sponsored by <The NetBSD Foundation>
Add new entries:
- add support for PT_STEP, PT_GETREGS, PT_SETREGS, PT_GETFPREGS,
PT_SETFPREGS in all ports
- integrate all ptrace(2) features in gdb
- add ptrace(2) NetBSD support in LLDB
Sponsored by <The NetBSD Foundation>