This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG68099b1d5c2c: [lldb] Add a getter for the process'
system architecture (authored by JDevlieghere).
Herald added a project: LLDB.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D121443/new/
https://reviews.llvm.org/D121443
Files:
lldb/include/lldb/Target/Process.h
lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
===================================================================
--- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -70,6 +70,8 @@
static std::chrono::seconds GetPacketTimeout();
+ ArchSpec GetSystemArchitecture() override;
+
// Check if a given Process
bool CanDebug(lldb::TargetSP target_sp,
bool plugin_specified_by_name) override;
Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
===================================================================
--- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -208,6 +208,10 @@
return std::chrono::seconds(GetGlobalPluginProperties().GetPacketTimeout());
}
+ArchSpec ProcessGDBRemote::GetSystemArchitecture() {
+ return m_gdb_comm.GetHostArchitecture();
+}
+
bool ProcessGDBRemote::CanDebug(lldb::TargetSP target_sp,
bool plugin_specified_by_name) {
if (plugin_specified_by_name)
Index: lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
===================================================================
--- lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
+++ lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
@@ -71,6 +71,8 @@
ThreadList &new_thread_list) override;
bool IsAlive() override;
+ ArchSpec GetSystemArchitecture override();
+
size_t DoReadMemory(lldb::addr_t vm_addr, void *buf, size_t size,
Status &error) override;
size_t DoWriteMemory(lldb::addr_t vm_addr, const void *buf, size_t size,
Index: lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
===================================================================
--- lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -576,6 +576,10 @@
}
}
+ArchSpec ProcessWindows::GetSystemArchitecture() {
+ return HostInfo::GetArchitecture();
+}
+
size_t ProcessWindows::DoReadMemory(lldb::addr_t vm_addr, void *buf,
size_t size, Status &error) {
size_t bytes_read = 0;
Index: lldb/include/lldb/Target/Process.h
===================================================================
--- lldb/include/lldb/Target/Process.h
+++ lldb/include/lldb/Target/Process.h
@@ -696,6 +696,9 @@
virtual JITLoaderList &GetJITLoaders();
public:
+ /// Get the system architecture for this process.
+ virtual ArchSpec GetSystemArchitecture() { return {}; }
+
/// Get the system runtime plug-in for this process.
///
/// \return
Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
===================================================================
--- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -70,6 +70,8 @@
static std::chrono::seconds GetPacketTimeout();
+ ArchSpec GetSystemArchitecture() override;
+
// Check if a given Process
bool CanDebug(lldb::TargetSP target_sp,
bool plugin_specified_by_name) override;
Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
===================================================================
--- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -208,6 +208,10 @@
return std::chrono::seconds(GetGlobalPluginProperties().GetPacketTimeout());
}
+ArchSpec ProcessGDBRemote::GetSystemArchitecture() {
+ return m_gdb_comm.GetHostArchitecture();
+}
+
bool ProcessGDBRemote::CanDebug(lldb::TargetSP target_sp,
bool plugin_specified_by_name) {
if (plugin_specified_by_name)
Index: lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
===================================================================
--- lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
+++ lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
@@ -71,6 +71,8 @@
ThreadList &new_thread_list) override;
bool IsAlive() override;
+ ArchSpec GetSystemArchitecture override();
+
size_t DoReadMemory(lldb::addr_t vm_addr, void *buf, size_t size,
Status &error) override;
size_t DoWriteMemory(lldb::addr_t vm_addr, const void *buf, size_t size,
Index: lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
===================================================================
--- lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -576,6 +576,10 @@
}
}
+ArchSpec ProcessWindows::GetSystemArchitecture() {
+ return HostInfo::GetArchitecture();
+}
+
size_t ProcessWindows::DoReadMemory(lldb::addr_t vm_addr, void *buf,
size_t size, Status &error) {
size_t bytes_read = 0;
Index: lldb/include/lldb/Target/Process.h
===================================================================
--- lldb/include/lldb/Target/Process.h
+++ lldb/include/lldb/Target/Process.h
@@ -696,6 +696,9 @@
virtual JITLoaderList &GetJITLoaders();
public:
+ /// Get the system architecture for this process.
+ virtual ArchSpec GetSystemArchitecture() { return {}; }
+
/// Get the system runtime plug-in for this process.
///
/// \return
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits