summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp136
1 files changed, 1 insertions, 135 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
index d893b868e75..00357dd54e3 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
@@ -30,8 +30,6 @@
#include "lldb/Interpreter/Args.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Target/MemoryRegionInfo.h"
-#include "lldb/Target/UnixSignals.h"
-#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Target/Target.h"
// Project includes
@@ -116,10 +114,7 @@ GDBRemoteCommunicationClient::GDBRemoteCommunicationClient()
m_gdb_server_name(),
m_gdb_server_version(UINT32_MAX),
m_default_packet_timeout(0),
- m_max_packet_size(0),
- m_qSupported_response(),
- m_supported_async_json_packets_is_valid(false),
- m_supported_async_json_packets_sp()
+ m_max_packet_size(0)
{
}
@@ -383,9 +378,6 @@ GDBRemoteCommunicationClient::ResetDiscoverableSettings (bool did_exec)
m_gdb_server_version = UINT32_MAX;
m_default_packet_timeout = 0;
m_max_packet_size = 0;
- m_qSupported_response.clear();
- m_supported_async_json_packets_is_valid = false;
- m_supported_async_json_packets_sp.reset();
}
// These flags should be reset when we first connect to a GDB server
@@ -421,12 +413,6 @@ GDBRemoteCommunicationClient::GetRemoteQSupported ()
/*send_async=*/false) == PacketResult::Success)
{
const char *response_cstr = response.GetStringRef().c_str();
-
- // Hang on to the qSupported packet, so that platforms can do custom
- // configuration of the transport before attaching/launching the
- // process.
- m_qSupported_response = response_cstr;
-
if (::strstr (response_cstr, "qXfer:auxv:read+"))
m_supports_qXfer_auxv_read = eLazyBoolYes;
if (::strstr (response_cstr, "qXfer:libraries-svr4:read+"))
@@ -3920,126 +3906,6 @@ GDBRemoteCommunicationClient::ServeSymbolLookups(lldb_private::Process *process)
}
}
-StructuredData::Array*
-GDBRemoteCommunicationClient::GetSupportedStructuredDataPlugins()
-{
- if (!m_supported_async_json_packets_is_valid)
- {
- // Query the server for the array of supported asynchronous JSON
- // packets.
- m_supported_async_json_packets_is_valid = true;
-
- Log *log(ProcessGDBRemoteLog::GetLogIfAllCategoriesSet(
- GDBR_LOG_PROCESS));
-
- // Poll it now.
- StringExtractorGDBRemote response;
- const bool send_async = false;
- if (SendPacketAndWaitForResponse("qStructuredDataPlugins", response,
- send_async) == PacketResult::Success)
- {
- m_supported_async_json_packets_sp = StructuredData::ParseJSON(
- response.GetStringRef());
- if (m_supported_async_json_packets_sp &&
- !m_supported_async_json_packets_sp->GetAsArray())
- {
- // We were returned something other than a JSON array. This
- // is invalid. Clear it out.
- if (log)
- log->Printf("GDBRemoteCommunicationClient::%s(): "
- "QSupportedAsyncJSONPackets returned invalid "
- "result: %s", __FUNCTION__,
- response.GetStringRef().c_str());
- m_supported_async_json_packets_sp.reset();
- }
- }
- else
- {
- if (log)
- log->Printf("GDBRemoteCommunicationClient::%s(): "
- "QSupportedAsyncJSONPackets unsupported",
- __FUNCTION__);
- }
-
- if (log && m_supported_async_json_packets_is_valid)
- {
- StreamString stream;
- m_supported_async_json_packets_sp->Dump(stream);
- log->Printf("GDBRemoteCommunicationClient::%s(): supported async "
- "JSON packets: %s", __FUNCTION__,
- stream.GetString().c_str());
- }
- }
-
- return m_supported_async_json_packets_sp
- ? m_supported_async_json_packets_sp->GetAsArray()
- : nullptr;
-}
-
-Error
-GDBRemoteCommunicationClient::ConfigureRemoteStructuredData(
- const ConstString &type_name,
- const StructuredData::ObjectSP &config_sp)
-{
- Error error;
-
- if (type_name.GetLength() == 0)
- {
- error.SetErrorString("invalid type_name argument");
- return error;
- }
-
- // Build command: Configure{type_name}: serialized config
- // data.
- StreamGDBRemote stream;
- stream.PutCString("QConfigure");
- stream.PutCString(type_name.AsCString());
- stream.PutChar(':');
- if (config_sp)
- {
- // Gather the plain-text version of the configuration data.
- StreamString unescaped_stream;
- config_sp->Dump(unescaped_stream);
- unescaped_stream.Flush();
-
- // Add it to the stream in escaped fashion.
- stream.PutEscapedBytes(unescaped_stream.GetData(),
- unescaped_stream.GetSize());
- }
- stream.Flush();
-
- // Send the packet.
- const bool send_async = false;
- StringExtractorGDBRemote response;
- auto result = SendPacketAndWaitForResponse(stream.GetString().c_str(),
- response, send_async);
- if (result == PacketResult::Success)
- {
- // We failed if the config result comes back other than OK.
- if (strcmp(response.GetStringRef().c_str(), "OK") == 0)
- {
- // Okay!
- error.Clear();
- }
- else
- {
- error.SetErrorStringWithFormat("configuring StructuredData feature "
- "%s failed with error %s",
- type_name.AsCString(),
- response.GetStringRef().c_str());
- }
- }
- else
- {
- // Can we get more data here on the failure?
- error.SetErrorStringWithFormat("configuring StructuredData feature %s "
- "failed when sending packet: "
- "PacketResult=%d", type_name.AsCString(),
- result);
- }
- return error;
-}
-
void
GDBRemoteCommunicationClient::OnRunPacketSent(bool first)
{
OpenPOWER on IntegriCloud