Aprilis LLDB/NetBSD

Hello,

I've dropped few paragraphs on the NetBSD status:

https://blog.netbsd.org/tnf/entry/netbsd_the_first_bsd_introducing

I'm going to focus on the following tasks till Easter holidays
* watchpoints support,
* floating point registers support,
* enhance core(5) and make it work for multiple threads
* introduce PT_SETSTEP and PT_CLEARSTEP in ptrace(2)
* research F_GETPATH in fcntl(2)

On the second half of this month I will move on to:
* support threads in the NetBSD Process Plugin

Upstream LLVM+Clang+LLDB version r. 299109 (no local patches) verification*:

Hello,

Hello,

Short update.

I've dropped few paragraphs on the NetBSD status:

https://blog.netbsd.org/tnf/entry/netbsd_the_first_bsd_introducing

I'm going to focus on the following tasks till Easter holidays

On time.

* watchpoints support,

Functional and pending upstream:
https://reviews.llvm.org/D32080

There is a bug with watchpoints that they are reported like PT_STEP.. I
don't know what's going on, I moved on to other tasks for now as this
does not stop other features and the general functionality of
watchpoints, even if they are incorrectly reported.

* floating point registers support,

Functional and pending upstream:
https://reviews.llvm.org/D32080

We need to add XSAVE ans XSAVEOPT into ptrace(2) and apparently into
mcontext. As of now AVX and similar registers are hidden from the
mentioned interfaces.

* enhance core(5) and make it work for multiple threads

Functional and pending upstream:
https://reviews.llvm.org/D32149

In general the original code was buggy and I decided to go for a custon
NetBSD-specific function to decode thread context notes. As doing it in
the same loop function with Linux would produce monstrous code.

* introduce PT_SETSTEP and PT_CLEARSTEP in ptrace(2)

Committed into the kernel.

* research F_GETPATH in fcntl(2)

Currently we decided to not introduce this. The general feeling of the
core developers is to handle this functionality on the LLDB side (in
case it will be needed on NetBSD).

The Linux specific fallback (reading /proc) is not acceptable.

On the second half of this month I will move on to:
* support threads in the NetBSD Process Plugin

High time to switch to this task now.

Upstream LLVM+Clang+LLDB version r. 299109 (no local patches) verification*:

===================
Test Result Summary

Test Methods: 1247
Reruns: 0
Success: 622
Expected Failure: 23
Failure: 79
Error: 97
Exceptional Exit: 0
Unexpected Success: 1
Skip: 424
Timeout: 1
Expected Timeout: 0

http://netbsd.org/~kamil/lldb/check-lldb-r299109-2017-04-04.txt

* I'm still using pkgsrc-wip and it might affect the score compared to
clean out of pkgsrc build.

There is a minimal increment of successfully passed tests. Partly due to
the stop status reported for watchpoints.