From 214054f78a4e40656b17838300dff2f136032172 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 1 Oct 2021 17:21:45 +0200 Subject: [PATCH] [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 --- .../Utility => include/lldb/Target}/DynamicRegisterInfo.h | 10 +++++++--- .../Plugins/OperatingSystem/Python/OperatingSystemPython.cpp | 1 - .../Plugins/OperatingSystem/Python/OperatingSystemPython.h | 9 ++++----- lldb/source/Plugins/Process/Utility/CMakeLists.txt | 1 - lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp | 1 - lldb/source/Plugins/Process/Utility/RegisterContextMemory.h | 7 +++---- .../Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h | 2 +- lldb/source/Target/CMakeLists.txt | 1 + .../Process/Utility => Target}/DynamicRegisterInfo.cpp | 3 +-- lldb/unittests/Process/Utility/CMakeLists.txt | 1 - lldb/unittests/Target/CMakeLists.txt | 1 + .../{Process/Utility => Target}/DynamicRegisterInfoTest.cpp | 3 +-- 12 files changed, 19 insertions(+), 21 deletions(-) rename lldb/{source/Plugins/Process/Utility => include/lldb/Target}/DynamicRegisterInfo.h (95%) rename lldb/source/{Plugins/Process/Utility => Target}/DynamicRegisterInfo.cpp (99%) rename lldb/unittests/{Process/Utility => Target}/DynamicRegisterInfoTest.cpp (98%) 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 286c8bc..ac8d6a7 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 #include @@ -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 @@ protected: 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 8c9e31d..40cf1d9 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 4bdd38f..743fb54 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 @@ protected: lldb_private::ThreadList &old_thread_list, std::vector &core_used_map, bool *did_create_ptr); - DynamicRegisterInfo *GetDynamicRegisterInfo(); + lldb_private::DynamicRegisterInfo *GetDynamicRegisterInfo(); lldb::ValueObjectSP m_thread_list_valobj_sp; - std::unique_ptr m_register_info_up; + std::unique_ptr 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 1431876..2a06af0 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 c55ffeb..49a4c86 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 764ee9b..c3b9ec7 100644 --- a/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h +++ b/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h @@ -11,17 +11,16 @@ #include +#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 @@ public: protected: void SetAllRegisterValid(bool b); - DynamicRegisterInfo &m_reg_infos; + lldb_private::DynamicRegisterInfo &m_reg_infos; std::vector 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 7aef414..648bcba 100644 --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h @@ -11,7 +11,7 @@ #include -#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 2405258..f80dab6 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 a5f4b8c..2dbaa7d 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 47abc10..651f871 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 2c3ba69..c126597 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 53b53a0..14a34dd 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; -- 2.7.4