[Lldb-commits] [lldb] 214054f - [lldb] Move DynamicRegisterInfo to public Target library
Michał Górny via lldb-commits
lldb-commits at lists.llvm.org
Tue Oct 5 03:41:04 PDT 2021
Author: Michał Górny
Date: 2021-10-05T12:40:55+02:00
New Revision: 214054f78a4e40656b17838300dff2f136032172
URL: https://github.com/llvm/llvm-project/commit/214054f78a4e40656b17838300dff2f136032172
DIFF: https://github.com/llvm/llvm-project/commit/214054f78a4e40656b17838300dff2f136032172.diff
LOG: [lldb] Move DynamicRegisterInfo to public Target library
Move DynamicRegisterInfo from the internal lldbPluginProcessUtility
library to the public lldbTarget library. This is a prerequisite
towards ABI plugin changes that are going to pass DynamicRegisterInfo
parameters.
Differential Revision: https://reviews.llvm.org/D110942
Added:
lldb/include/lldb/Target/DynamicRegisterInfo.h
lldb/source/Target/DynamicRegisterInfo.cpp
lldb/unittests/Target/DynamicRegisterInfoTest.cpp
Modified:
lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
lldb/source/Plugins/Process/Utility/CMakeLists.txt
lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp
lldb/source/Plugins/Process/Utility/RegisterContextMemory.h
lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
lldb/source/Target/CMakeLists.txt
lldb/unittests/Process/Utility/CMakeLists.txt
lldb/unittests/Target/CMakeLists.txt
Removed:
lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h
lldb/unittests/Process/Utility/DynamicRegisterInfoTest.cpp
################################################################################
diff --git a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h b/lldb/include/lldb/Target/DynamicRegisterInfo.h
similarity index 95%
rename from lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h
rename to lldb/include/lldb/Target/DynamicRegisterInfo.h
index 286c8bc1020d7..ac8d6a7781c3f 100644
--- a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h
+++ b/lldb/include/lldb/Target/DynamicRegisterInfo.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_DYNAMICREGISTERINFO_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_DYNAMICREGISTERINFO_H
+#ifndef LLDB_TARGET_DYNAMICREGISTERINFO_H
+#define LLDB_TARGET_DYNAMICREGISTERINFO_H
#include <map>
#include <vector>
@@ -16,6 +16,8 @@
#include "lldb/Utility/StructuredData.h"
#include "lldb/lldb-private.h"
+namespace lldb_private {
+
class DynamicRegisterInfo {
protected:
DynamicRegisterInfo(DynamicRegisterInfo &) = default;
@@ -113,4 +115,6 @@ class DynamicRegisterInfo {
bool m_is_reconfigurable = false;
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_DYNAMICREGISTERINFO_H
+} // namespace lldb_private
+
+#endif // LLDB_TARGET_DYNAMICREGISTERINFO_H
diff --git a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
index 8c9e31dadff5e..40cf1d9816789 100644
--- a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
+++ b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
@@ -12,7 +12,6 @@
#include "OperatingSystemPython.h"
-#include "Plugins/Process/Utility/DynamicRegisterInfo.h"
#include "Plugins/Process/Utility/RegisterContextDummy.h"
#include "Plugins/Process/Utility/RegisterContextMemory.h"
#include "Plugins/Process/Utility/ThreadMemory.h"
diff --git a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
index 4bdd38fc81007..743fb545e3403 100644
--- a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
+++ b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
@@ -13,11 +13,10 @@
#if LLDB_ENABLE_PYTHON
+#include "lldb/Target/DynamicRegisterInfo.h"
#include "lldb/Target/OperatingSystem.h"
#include "lldb/Utility/StructuredData.h"
-class DynamicRegisterInfo;
-
namespace lldb_private {
class ScriptInterpreter;
}
@@ -72,14 +71,14 @@ class OperatingSystemPython : public lldb_private::OperatingSystem {
lldb_private::ThreadList &old_thread_list,
std::vector<bool> &core_used_map, bool *did_create_ptr);
- DynamicRegisterInfo *GetDynamicRegisterInfo();
+ lldb_private::DynamicRegisterInfo *GetDynamicRegisterInfo();
lldb::ValueObjectSP m_thread_list_valobj_sp;
- std::unique_ptr<DynamicRegisterInfo> m_register_info_up;
+ std::unique_ptr<lldb_private::DynamicRegisterInfo> m_register_info_up;
lldb_private::ScriptInterpreter *m_interpreter;
lldb_private::StructuredData::ObjectSP m_python_object_sp;
};
-#endif
+#endif // LLDB_ENABLE_PYTHON
#endif // liblldb_OperatingSystemPython_h_
diff --git a/lldb/source/Plugins/Process/Utility/CMakeLists.txt b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
index 14318763f6a06..2a06af008dcec 100644
--- a/lldb/source/Plugins/Process/Utility/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
@@ -1,6 +1,5 @@
add_lldb_library(lldbPluginProcessUtility
AuxVector.cpp
- DynamicRegisterInfo.cpp
FreeBSDSignals.cpp
GDBRemoteSignals.cpp
HistoryThread.cpp
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp
index c55ffebb03e75..49a4c86690220 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp
@@ -8,7 +8,6 @@
#include "RegisterContextMemory.h"
-#include "DynamicRegisterInfo.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/DataBufferHeap.h"
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h b/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h
index 764ee9b972117..c3b9ec72ca227 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h
@@ -11,17 +11,16 @@
#include <vector>
+#include "lldb/Target/DynamicRegisterInfo.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/lldb-private.h"
-class DynamicRegisterInfo;
-
class RegisterContextMemory : public lldb_private::RegisterContext {
public:
RegisterContextMemory(lldb_private::Thread &thread,
uint32_t concrete_frame_idx,
- DynamicRegisterInfo ®_info,
+ lldb_private::DynamicRegisterInfo ®_info,
lldb::addr_t reg_data_addr);
~RegisterContextMemory() override;
@@ -60,7 +59,7 @@ class RegisterContextMemory : public lldb_private::RegisterContext {
protected:
void SetAllRegisterValid(bool b);
- DynamicRegisterInfo &m_reg_infos;
+ lldb_private::DynamicRegisterInfo &m_reg_infos;
std::vector<bool> m_reg_valid;
lldb_private::DataExtractor m_reg_data;
lldb::addr_t m_reg_data_addr; // If this is valid, then we have a register
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
index 7aef414465126..648bcbaa8bc7f 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
@@ -11,7 +11,7 @@
#include <vector>
-#include "Plugins/Process/Utility/DynamicRegisterInfo.h"
+#include "lldb/Target/DynamicRegisterInfo.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/DataExtractor.h"
diff --git a/lldb/source/Target/CMakeLists.txt b/lldb/source/Target/CMakeLists.txt
index 2405258bc4166..f80dab69282b3 100644
--- a/lldb/source/Target/CMakeLists.txt
+++ b/lldb/source/Target/CMakeLists.txt
@@ -9,6 +9,7 @@ lldb_tablegen(TargetPropertiesEnum.inc -gen-lldb-property-enum-defs
add_lldb_library(lldbTarget
ABI.cpp
AssertFrameRecognizer.cpp
+ DynamicRegisterInfo.cpp
ExecutionContext.cpp
InstrumentationRuntime.cpp
InstrumentationRuntimeStopInfo.cpp
diff --git a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp b/lldb/source/Target/DynamicRegisterInfo.cpp
similarity index 99%
rename from lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
rename to lldb/source/Target/DynamicRegisterInfo.cpp
index a5f4b8c7d7f3e..2dbaa7d56c03f 100644
--- a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
+++ b/lldb/source/Target/DynamicRegisterInfo.cpp
@@ -6,8 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "DynamicRegisterInfo.h"
-
+#include "lldb/Target/DynamicRegisterInfo.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/DataFormatters/FormatManager.h"
#include "lldb/Interpreter/OptionArgParser.h"
diff --git a/lldb/unittests/Process/Utility/CMakeLists.txt b/lldb/unittests/Process/Utility/CMakeLists.txt
index 47abc10f5aa00..651f871621fdf 100644
--- a/lldb/unittests/Process/Utility/CMakeLists.txt
+++ b/lldb/unittests/Process/Utility/CMakeLists.txt
@@ -15,7 +15,6 @@ set(LLVM_OPTIONAL_SOURCES
${NETBSD_SOURCES})
add_lldb_unittest(ProcessUtilityTests
- DynamicRegisterInfoTest.cpp
LinuxProcMapsTest.cpp
MemoryTagManagerAArch64MTETest.cpp
RegisterContextTest.cpp
diff --git a/lldb/unittests/Target/CMakeLists.txt b/lldb/unittests/Target/CMakeLists.txt
index 2c3ba699b0ebe..c126597c79daf 100644
--- a/lldb/unittests/Target/CMakeLists.txt
+++ b/lldb/unittests/Target/CMakeLists.txt
@@ -1,5 +1,6 @@
add_lldb_unittest(TargetTests
ABITest.cpp
+ DynamicRegisterInfoTest.cpp
ExecutionContextTest.cpp
MemoryRegionInfoTest.cpp
ModuleCacheTest.cpp
diff --git a/lldb/unittests/Process/Utility/DynamicRegisterInfoTest.cpp b/lldb/unittests/Target/DynamicRegisterInfoTest.cpp
similarity index 98%
rename from lldb/unittests/Process/Utility/DynamicRegisterInfoTest.cpp
rename to lldb/unittests/Target/DynamicRegisterInfoTest.cpp
index 53b53a0d5777d..14a34dde28344 100644
--- a/lldb/unittests/Process/Utility/DynamicRegisterInfoTest.cpp
+++ b/lldb/unittests/Target/DynamicRegisterInfoTest.cpp
@@ -9,8 +9,7 @@
#include "gmock/gmock.h"
#include "gtest/gtest.h"
-#include "Plugins/Process/Utility/DynamicRegisterInfo.h"
-
+#include "lldb/Target/DynamicRegisterInfo.h"
#include "lldb/Utility/ArchSpec.h"
using namespace lldb_private;
More information about the lldb-commits
mailing list