Remove entries:
- research support PT_SYSCALL & PT_STEP combined like in Linux
- GDB Remote Protocol expects a case with a step with a signal to be sent,
this is currently unsupported on NetBSD
Implemented as PT_SETSTEP and PT_CLEARSTEP.
Remove:
- 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
This interface has been abandoned and will be handled on the debugger level.
Sponsored by <The NetBSD Foundation>
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
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>
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>
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>
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>
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>
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>