[Lldb-commits] [lldb] 5517401 - Revert "[lldb] [gdb-remote] Include PID in vCont packets if multiprocess"
Michael Buch via lldb-commits
lldb-commits at lists.llvm.org
Fri Aug 19 10:08:34 PDT 2022
Author: Michael Buch
Date: 2022-08-19T18:05:41+01:00
New Revision: 5517401f936ab5cb9db001030f027293d44aac92
URL: https://github.com/llvm/llvm-project/commit/5517401f936ab5cb9db001030f027293d44aac92
DIFF: https://github.com/llvm/llvm-project/commit/5517401f936ab5cb9db001030f027293d44aac92.diff
LOG: Revert "[lldb] [gdb-remote] Include PID in vCont packets if multiprocess"
This reverts commit ccb9d4d4addc2fb2aa94cf776d43d8be35365272.
https://reviews.llvm.org/D131758
Differential Revision: https://reviews.llvm.org/D132250
Added:
Modified:
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
index 11d0fec1926ab..29417b35fde3a 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
@@ -181,12 +181,6 @@ bool GDBRemoteCommunicationClient::GetQXferSigInfoReadSupported() {
return m_supports_qXfer_siginfo_read == eLazyBoolYes;
}
-bool GDBRemoteCommunicationClient::GetMultiprocessSupported() {
- if (m_supports_memory_tagging == eLazyBoolCalculate)
- GetRemoteQSupported();
- return m_supports_multiprocess == eLazyBoolYes;
-}
-
uint64_t GDBRemoteCommunicationClient::GetRemoteMaxPacketSize() {
if (m_max_packet_size == 0) {
GetRemoteQSupported();
@@ -1520,7 +1514,7 @@ Status GDBRemoteCommunicationClient::Detach(bool keep_stopped,
}
}
- if (GetMultiprocessSupported()) {
+ if (m_supports_multiprocess) {
// Some servers (e.g. qemu) require specifying the PID even if only a single
// process is running.
if (pid == LLDB_INVALID_PROCESS_ID)
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
index 4e89ade772ad3..3a62747603f6d 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
@@ -339,8 +339,6 @@ class GDBRemoteCommunicationClient : public GDBRemoteClientBase {
bool GetQXferSigInfoReadSupported();
- bool GetMultiprocessSupported();
-
LazyBool SupportsAllocDeallocMemory() // const
{
// Uncomment this to have lldb pretend the debug server doesn't respond to
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 0c876a8fd703e..30fb27932d192 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -1186,15 +1186,11 @@ Status ProcessGDBRemote::DoResume() {
StreamString continue_packet;
bool continue_packet_error = false;
if (m_gdb_comm.HasAnyVContSupport()) {
- std::string pid_prefix;
- if (m_gdb_comm.GetMultiprocessSupported())
- pid_prefix = llvm::formatv("p{0:x-}.", GetID());
-
if (m_continue_c_tids.size() == num_threads ||
(m_continue_c_tids.empty() && m_continue_C_tids.empty() &&
m_continue_s_tids.empty() && m_continue_S_tids.empty())) {
- // All threads are continuing
- continue_packet.Format("vCont;c:{0}-1", pid_prefix);
+ // All threads are continuing, just send a "c" packet
+ continue_packet.PutCString("c");
} else {
continue_packet.PutCString("vCont");
@@ -1204,7 +1200,7 @@ Status ProcessGDBRemote::DoResume() {
t_pos = m_continue_c_tids.begin(),
t_end = m_continue_c_tids.end();
t_pos != t_end; ++t_pos)
- continue_packet.Format(";c:{0}{1:x-}", pid_prefix, *t_pos);
+ continue_packet.Printf(";c:%4.4" PRIx64, *t_pos);
} else
continue_packet_error = true;
}
@@ -1215,8 +1211,8 @@ Status ProcessGDBRemote::DoResume() {
s_pos = m_continue_C_tids.begin(),
s_end = m_continue_C_tids.end();
s_pos != s_end; ++s_pos)
- continue_packet.Format(";C{0:x-2}:{1}{2:x-}", s_pos->second,
- pid_prefix, s_pos->first);
+ continue_packet.Printf(";C%2.2x:%4.4" PRIx64, s_pos->second,
+ s_pos->first);
} else
continue_packet_error = true;
}
@@ -1227,7 +1223,7 @@ Status ProcessGDBRemote::DoResume() {
t_pos = m_continue_s_tids.begin(),
t_end = m_continue_s_tids.end();
t_pos != t_end; ++t_pos)
- continue_packet.Format(";s:{0}{1:x-}", pid_prefix, *t_pos);
+ continue_packet.Printf(";s:%4.4" PRIx64, *t_pos);
} else
continue_packet_error = true;
}
@@ -1238,8 +1234,8 @@ Status ProcessGDBRemote::DoResume() {
s_pos = m_continue_S_tids.begin(),
s_end = m_continue_S_tids.end();
s_pos != s_end; ++s_pos)
- continue_packet.Format(";S{0:x-2}:{1}{2:x-}", s_pos->second,
- pid_prefix, s_pos->first);
+ continue_packet.Printf(";S%2.2x:%4.4" PRIx64, s_pos->second,
+ s_pos->first);
} else
continue_packet_error = true;
}
More information about the lldb-commits
mailing list