aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-04-14 21:41:27 +0000
committerDimitry Andric <dim@FreeBSD.org>2023-06-22 18:20:56 +0000
commitbdd1243df58e60e85101c09001d9812a789b6bc4 (patch)
treea1ce621c7301dd47ba2ddc3b8eaa63b441389481 /contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
parent781624ca2d054430052c828ba8d2c2eaf2d733e7 (diff)
parente3b557809604d036af6e00c60f012c2025b59a5e (diff)
Diffstat (limited to 'contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h')
-rw-r--r--contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
index 50cef8e499dc..83f0adfe35af 100644
--- a/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ b/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -12,6 +12,7 @@
#include <atomic>
#include <map>
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
@@ -49,8 +50,6 @@ class ThreadGDBRemote;
class ProcessGDBRemote : public Process,
private GDBRemoteClientBase::ContinueDelegate {
public:
- ProcessGDBRemote(lldb::TargetSP target_sp, lldb::ListenerSP listener_sp);
-
~ProcessGDBRemote() override;
static lldb::ProcessSP CreateInstance(lldb::TargetSP target_sp,
@@ -79,16 +78,16 @@ public:
CommandObject *GetPluginCommandObject() override;
// Creating a new process, or attaching to an existing one
- Status WillLaunch(Module *module) override;
+ Status DoWillLaunch(Module *module) override;
Status DoLaunch(Module *exe_module, ProcessLaunchInfo &launch_info) override;
void DidLaunch() override;
- Status WillAttachToProcessWithID(lldb::pid_t pid) override;
+ Status DoWillAttachToProcessWithID(lldb::pid_t pid) override;
- Status WillAttachToProcessWithName(const char *process_name,
- bool wait_for_launch) override;
+ Status DoWillAttachToProcessWithName(const char *process_name,
+ bool wait_for_launch) override;
Status DoConnectRemote(llvm::StringRef remote_url) override;
@@ -224,6 +223,8 @@ public:
StructuredData::ObjectSP GetSharedCacheInfo() override;
+ StructuredData::ObjectSP GetDynamicLoaderProcessState() override;
+
std::string HarmonizeThreadIdsForProfileData(
StringExtractorGDBRemote &inputStringExtractor);
@@ -239,6 +240,8 @@ protected:
friend class GDBRemoteCommunicationClient;
friend class GDBRemoteRegisterContext;
+ ProcessGDBRemote(lldb::TargetSP target_sp, lldb::ListenerSP listener_sp);
+
bool SupportsMemoryTagging() override;
/// Broadcaster event bits definitions.
@@ -251,7 +254,7 @@ protected:
GDBRemoteCommunicationClient m_gdb_comm;
std::atomic<lldb::pid_t> m_debugserver_pid;
- llvm::Optional<StringExtractorGDBRemote> m_last_stop_packet;
+ std::optional<StringExtractorGDBRemote> m_last_stop_packet;
std::recursive_mutex m_last_stop_packet_mutex;
GDBRemoteDynamicRegisterInfoSP m_register_info_sp;
@@ -308,8 +311,6 @@ protected:
bool HasExited(lldb::StateType state) { return state == lldb::eStateExited; }
- bool ProcessIDIsValid() const;
-
void Clear();
bool DoUpdateThreadList(ThreadList &old_thread_list,
@@ -373,6 +374,7 @@ protected:
bool UpdateThreadIDList();
void DidLaunchOrAttach(ArchSpec &process_arch);
+ void LoadStubBinaries();
void MaybeLoadExecutableModule();
Status ConnectToDebugserver(llvm::StringRef host_port);