aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
index 0921bf17c4e4..fe04cdddd0f5 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -68,6 +68,8 @@ public:
static const char *GetPluginDescriptionStatic();
+ static std::chrono::seconds GetPacketTimeout();
+
// Check if a given Process
bool CanDebug(lldb::TargetSP target_sp,
bool plugin_specified_by_name) override;
@@ -163,22 +165,16 @@ public:
Status GetWatchpointSupportInfo(uint32_t &num) override;
- lldb::user_id_t StartTrace(const TraceOptions &options,
- Status &error) override;
-
- Status StopTrace(lldb::user_id_t uid, lldb::tid_t thread_id) override;
+ llvm::Expected<TraceSupportedResponse> TraceSupported() override;
- Status GetData(lldb::user_id_t uid, lldb::tid_t thread_id,
- llvm::MutableArrayRef<uint8_t> &buffer,
- size_t offset = 0) override;
+ llvm::Error TraceStop(const TraceStopRequest &request) override;
- Status GetMetaData(lldb::user_id_t uid, lldb::tid_t thread_id,
- llvm::MutableArrayRef<uint8_t> &buffer,
- size_t offset = 0) override;
+ llvm::Error TraceStart(const llvm::json::Value &request) override;
- llvm::Expected<TraceTypeInfo> GetSupportedTraceType() override;
+ llvm::Expected<std::string> TraceGetState(llvm::StringRef type) override;
- Status GetTraceConfig(lldb::user_id_t uid, TraceOptions &options) override;
+ llvm::Expected<std::vector<uint8_t>>
+ TraceGetBinaryData(const TraceGetBinaryDataRequest &request) override;
Status GetWatchpointSupportInfo(uint32_t &num, bool &after) override;
@@ -239,6 +235,8 @@ protected:
friend class GDBRemoteCommunicationClient;
friend class GDBRemoteRegisterContext;
+ bool SupportsMemoryTagging() override;
+
/// Broadcaster event bits definitions.
enum {
eBroadcastBitAsyncContinue = (1 << 0),
@@ -339,7 +337,7 @@ protected:
size_t UpdateThreadPCsFromStopReplyThreadsValue(std::string &value);
- size_t UpdateThreadIDsFromStopReplyThreadsValue(std::string &value);
+ size_t UpdateThreadIDsFromStopReplyThreadsValue(llvm::StringRef value);
bool HandleNotifyPacket(StringExtractorGDBRemote &packet);
@@ -410,6 +408,12 @@ protected:
bool HasErased(FlashRange range);
+ llvm::Expected<std::vector<uint8_t>>
+ DoReadMemoryTags(lldb::addr_t addr, size_t len, int32_t type) override;
+
+ Status DoWriteMemoryTags(lldb::addr_t addr, size_t len, int32_t type,
+ const std::vector<uint8_t> &tags) override;
+
private:
// For ProcessGDBRemote only
std::string m_partial_profile_data;