aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
diff options
context:
space:
mode:
authorMichał Górny <mgorny@moritz.systems>2022-06-03 20:21:26 +0200
committerMichał Górny <mgorny@moritz.systems>2022-06-27 17:33:59 +0200
commitb4f2d7cde54c301f591a8e2a16135bb113c5e7ed (patch)
tree3fc5b561ff873c3a870a42c7f44360fa4ed592a3 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
parent48eb2bc608e2db4258f9a5432be6458b33e8f551 (diff)
downloadllvm-b4f2d7cde54c301f591a8e2a16135bb113c5e7ed.zip
llvm-b4f2d7cde54c301f591a8e2a16135bb113c5e7ed.tar.gz
llvm-b4f2d7cde54c301f591a8e2a16135bb113c5e7ed.tar.bz2
[lldb] [llgs] Support "t" vCont action
Implement support for the "t" action that is used to stop a thread. Normally this action is used only in non-stop mode. However, there's no technical reason why it couldn't be also used in all-stop mode, e.g. to express "resume all threads except ..." (`t:...;c`). While at it, add a more complete test for vCont correctly resuming a subset of program's threads. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D126983
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
index 2c009ef..ae8b8ef 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
@@ -1654,7 +1654,7 @@ GDBRemoteCommunication::PacketResult
GDBRemoteCommunicationServerLLGS::Handle_vCont_actions(
StringExtractorGDBRemote &packet) {
StreamString response;
- response.Printf("vCont;c;C;s;S");
+ response.Printf("vCont;c;C;s;S;t");
return SendPacketNoLock(response.GetString());
}
@@ -1723,6 +1723,11 @@ GDBRemoteCommunicationServerLLGS::Handle_vCont(
thread_action.state = eStateStepping;
break;
+ case 't':
+ // Stop
+ thread_action.state = eStateSuspended;
+ break;
+
default:
return SendIllFormedResponse(packet, "Unsupported vCont action");
break;