Forking fixes in the context of debuggers

For the past month I've been mostly working on improving the kernel code
in the ptrace(2) API. Additionally, I've prepared support for reading
NetBSD/aarch64 core(5) files.

A critical Problem Report kern/51630 regarding lack of PTRACE_VFORK
implementation has been fixed. This means that there are no other
unimplemented API calls, but there are still bugs in the existing ones.

With fixes and addition of new test cases, as of today we are passing
961 ptrace(2) tests and skipping 1 (out of 1018 total).

Plan for the next milestone

Cover the remaining forking corner-cases in the context of debuggers
with new ATF tests and fix the remaining bugs.

The first step is to implement proper support for handling
PT_TRACE_ME-traced scenarios from a vfork(2)ed child. Next I plan to
keep covering the corner cases of the forking code and finish this by
removal of subtle bugs that are still left in the code since the

This work was sponsored by The NetBSD Foundation.