summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorTodd Fiala <todd.fiala@gmail.com>2016-08-19 04:21:48 +0000
committerTodd Fiala <todd.fiala@gmail.com>2016-08-19 04:21:48 +0000
commit759300192abe8e38e8a40ab95934ba602a78c252 (patch)
treed284c51cf10c23d3023ab8e1308e26ad1ee218a7 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parente2ca3b65fcba7c4c5dbd10c1e8925177b7718806 (diff)
downloadbcm5719-llvm-759300192abe8e38e8a40ab95934ba602a78c252.tar.gz
bcm5719-llvm-759300192abe8e38e8a40ab95934ba602a78c252.zip
Add StructuredData plugin type; showcase with new DarwinLog feature
Take 2, with missing cmake line fixed. Build tested on Ubuntu 14.04 with clang-3.6. See docs/structured_data/StructuredDataPlugins.md for details. differential review: https://reviews.llvm.org/D22976 reviewers: clayborg, jingham llvm-svn: 279202
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 1fa78fe155f..be5c3b552c8 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -1175,7 +1175,7 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch)
{
Log *log (ProcessGDBRemoteLog::GetLogIfAllCategoriesSet (GDBR_LOG_PROCESS));
if (log)
- log->Printf ("ProcessGDBRemote::DidLaunch()");
+ log->Printf ("ProcessGDBRemote::%s()", __FUNCTION__);
if (GetID() != LLDB_INVALID_PROCESS_ID)
{
BuildDynamicRegisterInfo (false);
@@ -1271,6 +1271,13 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch)
GetTarget().SetArchitecture (process_arch);
}
}
+
+ // Find out which StructuredDataPlugins are supported by the
+ // debug monitor. These plugins transmit data over async $J packets.
+ auto supported_packets_array =
+ m_gdb_comm.GetSupportedStructuredDataPlugins();
+ if (supported_packets_array)
+ MapSupportedStructuredDataPlugins(*supported_packets_array);
}
}
@@ -4342,6 +4349,13 @@ ProcessGDBRemote::GetSharedCacheInfo ()
return object_sp;
}
+Error
+ProcessGDBRemote::ConfigureStructuredData(const ConstString &type_name,
+ const StructuredData::ObjectSP
+ &config_sp)
+{
+ return m_gdb_comm.ConfigureRemoteStructuredData(type_name, config_sp);
+}
// Establish the largest memory read/write payloads we should use.
// If the remote stub has a max packet size, stay under that size.
@@ -5235,6 +5249,13 @@ ProcessGDBRemote::HandleStopReply()
BuildDynamicRegisterInfo(true);
}
+bool
+ProcessGDBRemote::HandleAsyncStructuredData(const StructuredData::ObjectSP
+ &object_sp)
+{
+ return RouteAsyncStructuredData(object_sp);
+}
+
class CommandObjectProcessGDBRemoteSpeedTest: public CommandObjectParsed
{
public:
OpenPOWER on IntegriCloud