aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Utility/StringExtractorGDBRemote.cpp
diff options
context:
space:
mode:
authorMichał Górny <mgorny@moritz.systems>2021-08-11 22:58:11 +0200
committerMichał Górny <mgorny@moritz.systems>2021-09-10 14:08:36 +0200
commit6ba3f7237dc750aad2ce1d6a7a15e3b78370221a (patch)
tree9d452ed09ae1b0c82f25072c2cc28a8227eb1238 /lldb/source/Utility/StringExtractorGDBRemote.cpp
parent501eaf88770d15de92fa0eb7435f0470a3b93b0a (diff)
downloadllvm-6ba3f7237dc750aad2ce1d6a7a15e3b78370221a.zip
llvm-6ba3f7237dc750aad2ce1d6a7a15e3b78370221a.tar.gz
llvm-6ba3f7237dc750aad2ce1d6a7a15e3b78370221a.tar.bz2
[lldb] [gdb-remote] Implement the vRun packet
Implement the simpler vRun packet and prefer it over the A packet. Unlike the latter, it tranmits command-line arguments without redundant indices and lengths. This also improves GDB compatibility since modern versions of gdbserver do not implement the A packet at all. Make qLaunchSuccess not obligatory when using vRun. It is not implemented by gdbserver, and since vRun returns the stop reason, we can assume it to be successful. Differential Revision: https://reviews.llvm.org/D107931
Diffstat (limited to 'lldb/source/Utility/StringExtractorGDBRemote.cpp')
-rw-r--r--lldb/source/Utility/StringExtractorGDBRemote.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lldb/source/Utility/StringExtractorGDBRemote.cpp b/lldb/source/Utility/StringExtractorGDBRemote.cpp
index 6450993..d6bbf71 100644
--- a/lldb/source/Utility/StringExtractorGDBRemote.cpp
+++ b/lldb/source/Utility/StringExtractorGDBRemote.cpp
@@ -365,6 +365,8 @@ StringExtractorGDBRemote::GetServerPacketType() const {
return eServerPacketType_vCont;
if (PACKET_MATCHES("vCont?"))
return eServerPacketType_vCont_actions;
+ if (PACKET_STARTS_WITH("vRun;"))
+ return eServerPacketType_vRun;
}
break;
case '_':