Revision tags: llvmorg-21-init, llvmorg-19.1.7 |
|
#
5056a4b5 |
| 31-Dec-2024 |
Jason Molenda <jmolenda@apple.com> |
[lldb] Update two API tests to fix x86 Darwin failures (#121380)
The Intel Darwin CI bots had their Xcode updated, which brought in a
debugserver with Brendan Shanks' change from September
7281e0c
[lldb] Update two API tests to fix x86 Darwin failures (#121380)
The Intel Darwin CI bots had their Xcode updated, which brought in a
debugserver with Brendan Shanks' change from September
7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
https://github.com/llvm/llvm-project/pull/108663 where four general
purpose registers are sent by debugserver when in certain process
states. But most processes (nearly all in the testsuite) do not have
these registers available, so we will get register read failures when
requesting those four. These two tests would flag those as errors. There
would have been an additional problem with the g/G packet (which lldb
doesn't use w/ debugserver, but the testsuite tests) if placeholder
values were not included in the full register context bytes; I fixed
that issue with the SME patch to debugserver recently already.
show more ...
|
Revision tags: llvmorg-19.1.6, llvmorg-19.1.5 |
|
#
a951e76f |
| 02-Dec-2024 |
Dmitry Vasilyev <dvassiliev@accesssoftek.com> |
[lldb] Added an exponential algorithm for the sleep time in connect_to_debug_monitor() (#118222)
Reduced MAX_ATTEMPTS to 10.
The sleep time will be 3, 3.6, 4.3, ..., 13, 15.
The total sleep time i
[lldb] Added an exponential algorithm for the sleep time in connect_to_debug_monitor() (#118222)
Reduced MAX_ATTEMPTS to 10.
The sleep time will be 3, 3.6, 4.3, ..., 13, 15.
The total sleep time is 78 + 0.5 * MAX_CONNECT_ATTEMPTS * MAX_ATTEMPTS = 128.
Note the timeout is 600, so the rest time must be enough.
Increased the port range (12000..20000).
show more ...
|
Revision tags: llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6 |
|
#
ba66dfb1 |
| 09-May-2024 |
Dmitry Vasilyev <dvassiliev@accesssoftek.com> |
[lldb] Fixed SyntaxWarning: invalid escape sequence \[ \d \s (#91146)
Reproduced with Python 3.12.3
|
Revision tags: llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2 |
|
#
59535326 |
| 06-Feb-2024 |
Jason Molenda <jmolenda@apple.com> |
[lldb] Add QSupported key to report watchpoint types supported (#80376)
debugserver on arm64 devices can manage both Byte Address Select
watchpoints (1-8 bytes) and MASK watchpoints (8 bytes-2 giga
[lldb] Add QSupported key to report watchpoint types supported (#80376)
debugserver on arm64 devices can manage both Byte Address Select
watchpoints (1-8 bytes) and MASK watchpoints (8 bytes-2 gigabytes). This
adds a SupportedWatchpointTypes key to the QSupported response from
debugserver with a list of these, so lldb can take full advantage of
them when creating larger regions with a single hardware watchpoint.
Also add documentation for this, and two other lldb extensions, to the
lldb-gdb-remote.txt documentation.
Re-enable TestLargeWatchpoint.py on Darwin systems when testing with the
in-tree built debugserver. I can remove the "in-tree built debugserver"
in the future when this new key is handled by an Xcode debugserver.
show more ...
|
Revision tags: llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3 |
|
#
e634c2f7 |
| 11-Aug-2023 |
Alex Langford <alangford@apple.com> |
[lldb] Remove use of __future__ in python
These were useful primarily for the Python 2 to 3 transition. Python 2 is no longer supported so these are no longer necessary.
Differential Revision: http
[lldb] Remove use of __future__ in python
These were useful primarily for the Python 2 to 3 transition. Python 2 is no longer supported so these are no longer necessary.
Differential Revision: https://reviews.llvm.org/D157759
show more ...
|
Revision tags: llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5 |
|
#
2238dcc3 |
| 25-May-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python code. Reformatting is done with `black` (23.1.0).
If you end up having problem
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python code. Reformatting is done with `black` (23.1.0).
If you end up having problems merging this commit because you have made changes to a python file, the best way to handle that is to run `git checkout --ours <yourfile>` and then reformat it with black.
RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style
Differential revision: https://reviews.llvm.org/D151460
show more ...
|
Revision tags: llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2 |
|
#
56f9cfe3 |
| 05-Aug-2022 |
Dave Lee <davelee.com@gmail.com> |
[lldb] Remove uses of six module (NFC)
With lldb (& llvm) requiring Python 3.6+, use of the `six` module can be removed.
Differential Revision: https://reviews.llvm.org/D131304
|
Revision tags: llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2 |
|
#
bc04d240 |
| 12-Apr-2022 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [llgs] Implement non-stop style stop notification packets
Implement the support for %Stop asynchronous notification packet format in LLGS. This does not implement full support for non-stop m
[lldb] [llgs] Implement non-stop style stop notification packets
Implement the support for %Stop asynchronous notification packet format in LLGS. This does not implement full support for non-stop mode for threaded programs -- process plugins continue stopping all threads on every event. However, it will be used to implement asynchronous events in multiprocess debugging.
The non-stop protocol is enabled using QNonStop packet. When it is enabled, the server uses notification protocol instead of regular stop replies. Since all threads are always stopped, notifications are always generated for all active threads and copied into stop notification queue.
If the queue was empty, the initial asynchronous %Stop notification is sent to the client immediately. The client needs to (eventually) acknowledge the notification by sending the vStopped packet, in which case it is popped from the queue and the stop reason for the next thread is reported. This continues until notification queue is empty again, in which case an OK reply is sent.
Asychronous notifications are also used for vAttach results and program exits. The `?` packet uses a hybrid approach -- it returns the first stop reason synchronously, and exposes the stop reasons for remaining threads via vStopped queue.
The change includes a test case for a program generating a segfault on 3 threads. The server is expected to generate a stop notification for the segfaulting thread, along with the notifications for the other running threads (with "no stop reason"). This verifies that the stop reasons are correctly reported for all threads, and that notification queue works.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D125575
show more ...
|
Revision tags: llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1 |
|
#
5a4fe166 |
| 07-Feb-2022 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Remove sleeps from some lldb-server tests
Instead of using sleeps, have the inferior notify us (via a trap opcode) that the requested number of threads have been created.
This allows us
[lldb/test] Remove sleeps from some lldb-server tests
Instead of using sleeps, have the inferior notify us (via a trap opcode) that the requested number of threads have been created.
This allows us to get rid of some fairly dodgy test utility code -- wait_for_thread_count seemed like it was waiting for the threads to appear, but it never actually let the inferior run, so it only succeeded if the threads were already started when the function was called. Since the function was called after a fairly small delay (1s, usually), this is probably the reason why the tests were failing on some bots.
Differential Revision: https://reviews.llvm.org/D119167
show more ...
|
#
20e17323 |
| 07-Feb-2022 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Fix a few lldb-server tests on Apple Silicon
This fixes TestGdbRemoteSingleStep.py and TestGdbRemote_vCont.py. This patch updates the test to account for the possibility that the constants ar
[lldb] Fix a few lldb-server tests on Apple Silicon
This fixes TestGdbRemoteSingleStep.py and TestGdbRemote_vCont.py. This patch updates the test to account for the possibility that the constants are already materialized. This appears to behave differently between embedded arm64 devices and Apple Silicon.
show more ...
|
Revision tags: llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
1e74e5e9 |
| 11-Jan-2022 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [llgs] Implement qXfer:siginfo:read
Implement the qXfer:siginfo:read that is used to read the siginfo_t (extended signal information) for the current thread. This is currently implemented on
[lldb] [llgs] Implement qXfer:siginfo:read
Implement the qXfer:siginfo:read that is used to read the siginfo_t (extended signal information) for the current thread. This is currently implemented on FreeBSD and Linux.
Differential Revision: https://reviews.llvm.org/D117113
show more ...
|
Revision tags: llvmorg-13.0.1-rc1 |
|
#
cbb8b200 |
| 18-Nov-2021 |
Adrian Prantl <aprantl@apple.com> |
Revert "Increase gdbremote timeout."
This reverts commit 6424dc21bf6b73645ef98a35417e0591b2a95939.
|
#
6424dc21 |
| 16-Nov-2021 |
Adrian Prantl <aprantl@apple.com> |
Increase gdbremote timeout.
I'm still seeing random timeouts on green dragon.
|
#
6e78cfb2 |
| 16-Nov-2021 |
Adrian Prantl <aprantl@apple.com> |
typo
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2 |
|
#
3f137236 |
| 14-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] Support gdbserver signals
GDB and LLDB use different signal models. GDB uses a predefined set of signal codes, and maps platform's signos to them. On the other hand, LLDB has historically s
[lldb] Support gdbserver signals
GDB and LLDB use different signal models. GDB uses a predefined set of signal codes, and maps platform's signos to them. On the other hand, LLDB has historically simply passed native signos.
In order to improve compatibility between LLDB and gdbserver, the GDB signal model should be used. However, GDB does not provide a mapping for all existing signals on Linux and unsupported signals are passed as 'unknown'. Limiting LLDB to this behavior could be considered a regression.
To get the best of both worlds, use the LLDB signal model when talking to lldb-server, and the GDB signal model otherwise. For this purpose, new versions of lldb-server indicate "native-signals+" via qSupported. At the same time, we also detect older versions of lldb-server via QThreadSuffixSupported for backwards compatibility. If neither test succeeds, we assume gdbserver or another implementation using GDB model.
Differential Revision: https://reviews.llvm.org/D108078
show more ...
|
#
8bac18be |
| 18-Oct-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb] Reduce code duplication around inferior building
We had two sets of build<flavour> methods, whose bodies were largely identical. This makes any kind of modification in their vicinity repetiti
[lldb] Reduce code duplication around inferior building
We had two sets of build<flavour> methods, whose bodies were largely identical. This makes any kind of modification in their vicinity repetitive and error-prone.
Replace each set with a single method taking an optional debug_info parameter.
Differential Revision: https://reviews.llvm.org/D111989
show more ...
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
#
37cbd817 |
| 26-Apr-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [llgs server] Support creating core dumps on NetBSD
Add a new SaveCore() process method that can be used to request a core dump. This is currently implemented on NetBSD via the PT_DUMPCORE p
[lldb] [llgs server] Support creating core dumps on NetBSD
Add a new SaveCore() process method that can be used to request a core dump. This is currently implemented on NetBSD via the PT_DUMPCORE ptrace(2) request, and enabled via 'savecore' extension.
Protocol-wise, a new qSaveCore packet is introduced. It accepts zero or more semicolon-separated key:value options, invokes the core dump and returns a key:value response. Currently the only option supported is "path-hint", and the return value contains the "path" actually used. The support for the feature is exposed via qSaveCore qSupported feature.
Differential Revision: https://reviews.llvm.org/D101285
show more ...
|
#
7ce739a8 |
| 12-Aug-2021 |
Jason Molenda <jason@molenda.com> |
Update gdbremote_testcase.py to allow new k-v pair in qMemoryRegionInfo
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
#
8d58fbd0 |
| 19-Feb-2021 |
David Spickett <david.spickett@linaro.org> |
[lldb][AArch64] Add memory-tagging qSupported feature
This feature "memory-tagging+" indicates that lldb-server supports memory tagging packets. (added in a later patch)
We check HWCAP2_MTE to deci
[lldb][AArch64] Add memory-tagging qSupported feature
This feature "memory-tagging+" indicates that lldb-server supports memory tagging packets. (added in a later patch)
We check HWCAP2_MTE to decide whether to enable this feature for Linux.
Reviewed By: omjavaid
Differential Revision: https://reviews.llvm.org/D97282
show more ...
|
#
9ea6dd5c |
| 20-Jun-2021 |
Jason Molenda <jason@molenda.com> |
Add a corefile style option to process save-core; skinny corefiles
Add a new feature to process save-core on Darwin systems -- for lldb to create a user process corefile with only the dirty (modifie
Add a corefile style option to process save-core; skinny corefiles
Add a new feature to process save-core on Darwin systems -- for lldb to create a user process corefile with only the dirty (modified memory) pages included. All of the binaries that were used in the corefile are assumed to still exist on the system for the duration of the use of the corefile. A new --style option to process save-core is added, so a full corefile can be requested if portability across systems, or across time, is needed for this corefile.
debugserver can now identify the dirty pages in a memory region when queried with qMemoryRegionInfo, and the size of vm pages is given in qHostInfo.
Create a new "all image infos" LC_NOTE for Mach-O which allows us to describe all of the binaries that were loaded in the process -- load address, UUID, file path, segment load addresses, and optionally whether code from the binary was executing on any thread. The old "read dyld_all_image_infos and then the in-memory Mach-O load commands to get segment load addresses" no longer works when we only have dirty memory.
rdar://69670807 Differential Revision: https://reviews.llvm.org/D88387
show more ...
|
#
31225768 |
| 08-Apr-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [Process] Introduce protocol extension support API
Introduce a NativeProcessProtocol API for indicating support for protocol extensions and enabling them. LLGS calls GetSupportedExtensions()
[lldb] [Process] Introduce protocol extension support API
Introduce a NativeProcessProtocol API for indicating support for protocol extensions and enabling them. LLGS calls GetSupportedExtensions() method on the process factory to determine which extensions are supported by the plugin. If the future is both supported by the plugin and reported as supported by the client, LLGS enables it and reports to the client as supported by the server.
The extension is enabled on the process instance by calling SetEnabledExtensions() method. This is done after qSupported exchange (if the debugger is attached to any process), as well as after launching or attaching to a new inferior.
The patch adds 'fork' extension corresponding to 'fork-events+' qSupported feature and 'vfork' extension for 'vfork-events+'. Both features rely on 'multiprocess+' being supported as well.
Differential Revision: https://reviews.llvm.org/D100153
show more ...
|
#
872b1da6 |
| 13-Apr-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] s/add_no_ack_remote_stream/do_handshake
These two functions are doing the same thing, only one of them is sending the packets immediately and the other "queues" them to be sent later. Th
[lldb/test] s/add_no_ack_remote_stream/do_handshake
These two functions are doing the same thing, only one of them is sending the packets immediately and the other "queues" them to be sent later. The first one is better as in case of errors, the backtrace will point straight to the place that caused them.
Modify the first method to avoid duplication, and ten standardize on it.
show more ...
|
#
d7ce89c7 |
| 13-Apr-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb] Remove self-skipping code from lldb-server tests
We already do category based skipping in checkDebugServerSupport in dotest.py.
|
#
6c1a8039 |
| 30-Mar-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [server] Support for multiprocess extension
Add a minimal support for the multiprocess extension in lldb-server. The server indicates support for it via qSupported, and accepts thread-ids con
[lldb] [server] Support for multiprocess extension
Add a minimal support for the multiprocess extension in lldb-server. The server indicates support for it via qSupported, and accepts thread-ids containing a PID. However, it still does not support debugging more than one inferior, so any other PID value results in an error.
Differential Revision: https://reviews.llvm.org/D98482
show more ...
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1 |
|
#
53f80d6b |
| 28-Dec-2020 |
Pavel Labath <pavel@labath.sk> |
[lldb] Fix logging in lldb-server tests
|