<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/lldb/source/Plugins/Process/NetBSD, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-01-06T16:10:55+00:00</updated>
<entry>
<title>[lldb] [Process/NetBSD] Remove unused orig_*ax use</title>
<updated>2020-01-06T16:10:55+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2020-01-04T04:34:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bc763c42bbcf830ad4e543ddc8c39cd146790176'/>
<id>urn:sha1:bc763c42bbcf830ad4e543ddc8c39cd146790176</id>
<content type='text'>
orig_*ax logic is Linux-specific, and was never used on NetBSD.
In fact, its support seems to be a dead code entirely.

Differential Revision: https://reviews.llvm.org/D72195
</content>
</entry>
<entry>
<title>[lldb] Adapt for NetBSD-9.99.30 ptrace(2) API changes</title>
<updated>2019-12-24T19:36:23+00:00</updated>
<author>
<name>Kamil Rytarowski</name>
<email>n54@gmx.com</email>
</author>
<published>2019-12-24T19:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ab8a7a29bf15c6eb1d4393516cde1688dbe7dc45'/>
<id>urn:sha1:ab8a7a29bf15c6eb1d4393516cde1688dbe7dc45</id>
<content type='text'>
Switch from PT_LWPINFO to PT_LWPSTATUS/PT_LWPNEXT.

Keep compat support for &lt; 9.99.30.

No functional change intended.
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Fix handling concurrent watchpoint events</title>
<updated>2019-11-25T19:11:59+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-11-08T17:42:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7644d8ba4dc4e06b2db2bfdb7f4d76b9356cb288'/>
<id>urn:sha1:7644d8ba4dc4e06b2db2bfdb7f4d76b9356cb288</id>
<content type='text'>
Fix handling concurrent watchpoint events so that they are reported
correctly in LLDB.

If multiple watchpoints are hit concurrently, the NetBSD kernel reports
them as series of SIGTRAPs with a thread specified, and the debugger
investigates DR6 in order to establish which watchpoint was hit.  This
is normally fine.

However, LLDB disables and reenables the watchpoint on all threads after
each hit, which results in the hit status from DR6 being wiped.
As a result, it can't establish which watchpoint was hit in successive
SIGTRAP processing.

In order to workaround this problem, clear DR6 only if the breakpoint
is overwritten with a new one.  More specifically, move cleaning DR6
from ClearHardwareWatchpoint() to SetHardwareWatchpointWithIndex(),
and do that only if the newly requested watchpoint is different
from the one being set previously.  This ensures that the disable-enable
logic of LLDB does not clear watchpoint hit status for the remaining
threads.

This also involves refactoring of watchpoint logic.  With the old logic,
clearing watchpoint involved wiping dr6 &amp; dr7, and setting it setting
dr{0..3} &amp; dr7.  With the new logic, only enable bit is cleared
from dr7, and the remaining bits are cleared/overwritten while setting
new watchpoint.

Differential Revision: https://reviews.llvm.org/D70025
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Copy watchpoints to newly-created threads</title>
<updated>2019-11-25T19:11:59+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-11-09T10:56:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d970d4d4aa7345ebf8b7169b09f2775a93f86c33'/>
<id>urn:sha1:d970d4d4aa7345ebf8b7169b09f2775a93f86c33</id>
<content type='text'>
NetBSD ptrace interface does not populate watchpoints to newly-created
threads.  Solve this via copying the watchpoints from the current thread
when new thread is reported via TRAP_LWP.

Add a test that verifies that when the user does not have permissions
to set watchpoints on NetBSD, the 'watchpoint set' errors out gracefully
and thread monitoring does not crash on being unable to copy watchpoints
to new threads.

Differential Revision: https://reviews.llvm.org/D70023
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Improve threading support</title>
<updated>2019-11-25T19:11:58+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-07-12T17:11:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8d9400b65b972cb50fe2266360443192ea107ec9'/>
<id>urn:sha1:8d9400b65b972cb50fe2266360443192ea107ec9</id>
<content type='text'>
Implement major improvements to multithreaded program support.  Notably,
support tracking new and exited threads, associate signals and events
with correct threads and support controlling individual threads when
resuming.

Firstly, use PT_SET_EVENT_MASK to enable reporting of created and exited
threads via SIGTRAP.  Handle TRAP_LWP events to keep track
of the currently running threads.

Secondly, update the signal (both generic and SIGTRAP) handling code
to account for per-thread signals correctly.  Signals delivered
to the whole process are reported on all threads, while per-thread
signals and events are reported only to the specific thread.
The remaining threads are marked as 'stopped with no reason'.  Note that
NetBSD always stops all threads on debugger events.

Thirdly, implement the ability to set every thread as running, stopped
or single-stepping separately while continuing the process.  This also
provides the ability to send a signal to the whole process or to one
of its thread while resuming.

Differential Revision: https://reviews.llvm.org/D70022
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Implement thread name getting</title>
<updated>2019-11-18T10:21:17+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-11-17T21:01:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=23a766dcad47993f632ab22ab3a8f3dc977bd838'/>
<id>urn:sha1:23a766dcad47993f632ab22ab3a8f3dc977bd838</id>
<content type='text'>
Implement thread name getting sysctl() on NetBSD.  Also fix
the incorrect type in pthread_setname_np() in the relevant test.

Differential Revision: https://reviews.llvm.org/D70363
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Use PT_STOP to stop the process [NFCI]</title>
<updated>2019-11-12T11:35:02+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-11-10T17:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=77cc246412ca40082c0902f1300f53d29dd98c02'/>
<id>urn:sha1:77cc246412ca40082c0902f1300f53d29dd98c02</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D70060
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Add register info for missing register sets</title>
<updated>2019-11-04T18:36:58+00:00</updated>
<author>
<name>Michał Górny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-10-31T16:04:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6eca4f46912a8318d7a5888506c3f26c20bdc012'/>
<id>urn:sha1:6eca4f46912a8318d7a5888506c3f26c20bdc012</id>
<content type='text'>
Add info for all register sets supported in NetBSD, particularly for all
registers 'expected' by LLDB.  This is necessary in order to fix
python_api/lldbutil/iter/TestRegistersIterator.py test that currently
fails due to missing names of register sets (None).

This copies fpreg descriptions from Linux, and combines Linux' AVX
and MPX registers into a single XState group, to fit NetBSD register
group design.  Technically, we do not support MPX registers
at the moment but gdb-remote insists on passing their errors anyway,
and if we do not include it in any group, they end up in a separate
anonymous group that breaks the test.

While at it, swap the enums for XState and DBRegs to match register set
ordering.

This also adds a few consts to the lldb-x86-register-enums.h to provide
more consistency between user registers and debug registers.

Differential Revision: https://reviews.llvm.org/D69667
</content>
</entry>
<entry>
<title>[lldb] [Process/NetBSD] Fix handling LLDB_INVALID_SIGNAL_NUMBER</title>
<updated>2019-09-24T13:41:54+00:00</updated>
<author>
<name>Michal Gorny</name>
<email>mgorny@gentoo.org</email>
</author>
<published>2019-09-24T13:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a292a4943b675545b1a1009eb6611f18dc3d4e78'/>
<id>urn:sha1:a292a4943b675545b1a1009eb6611f18dc3d4e78</id>
<content type='text'>
Fix NativeProcessNetBSD::Resume() to handle LLDB_INVALID_SIGNAL_NUMBER
correctly.  Fixes breakage caused by r372090 and r372300.  I have major
rewrite of that function pending; however, the fixes to gdb-remote
were committed prior to that.

llvm-svn: 372755
</content>
</entry>
<entry>
<title>[LLDB] Migrate llvm::make_unique to std::make_unique</title>
<updated>2019-08-14T22:19:23+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2019-08-14T22:19:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a8f3ae7c9cefa8296d119f92ca444087cdccf712'/>
<id>urn:sha1:a8f3ae7c9cefa8296d119f92ca444087cdccf712</id>
<content type='text'>
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.

Differential revision: https://reviews.llvm.org/D66259

llvm-svn: 368933
</content>
</entry>
</feed>
