[Lldb-commits] [lldb] [llvm] [lldb] Extract reusable native register contexts (PR #233620)
Minsoo Choo via lldb-commits
lldb-commits at lists.llvm.org
Mon Oct 19 15:53:19 PDT 2026
https://github.com/mchoo7 created https://github.com/llvm/llvm-project/pull/233620
Unlike RegisterInfo, these files directly manipulate register state. Thus move these files to Plugins/Register instead of merging in lldbRegister. These could go to under Plugins/Process/Register, but since Darwin's RegisterContext is used by Plugins/ObjectFile, bring this up to Plugins/ folder.
>From c79891e6b4423405cc624c4deaa36ec67d944e3a Mon Sep 17 00:00:00 2001
From: Minsoo Choo <minsoo at minsoo.io>
Date: Sun, 6 Sep 2026 09:59:29 -0400
Subject: [PATCH] [lldb] Extract reusable native register contexts
---
lldb/source/Plugins/CMakeLists.txt | 1 +
.../source/Plugins/Process/AIX/CMakeLists.txt | 1 +
.../Process/AIX/NativeRegisterContextAIX.h | 2 +-
.../Plugins/Process/FreeBSD/CMakeLists.txt | 1 +
.../FreeBSD/NativeRegisterContextFreeBSD.h | 2 +-
.../NativeRegisterContextFreeBSD_arm64.h | 2 +-
.../NativeRegisterContextFreeBSD_x86.h | 2 +-
.../Plugins/Process/Linux/CMakeLists.txt | 1 +
.../Linux/NativeRegisterContextLinux.h | 2 +-
.../Linux/NativeRegisterContextLinux_arm.h | 2 +-
.../Linux/NativeRegisterContextLinux_arm64.h | 2 +-
.../NativeRegisterContextLinux_arm64dbreg.h | 2 +-
.../NativeRegisterContextLinux_loongarch64.h | 2 +-
.../Linux/NativeRegisterContextLinux_x86.h | 2 +-
.../Plugins/Process/NetBSD/CMakeLists.txt | 1 +
.../NetBSD/NativeRegisterContextNetBSD.h | 2 +-
.../NetBSD/NativeRegisterContextNetBSD_x86.h | 2 +-
.../Plugins/Process/Utility/CMakeLists.txt | 6 -----
.../Process/Windows/Common/CMakeLists.txt | 1 +
.../Common/NativeRegisterContextWindows.h | 2 +-
.../NativeRegisterContextWindows_arm64.h | 2 +-
lldb/source/Plugins/Register/CMakeLists.txt | 1 +
.../Plugins/Register/Native/CMakeLists.txt | 21 ++++++++++++++++++
.../Native}/NativeRegisterContextDBReg.cpp | 1 -
.../Native}/NativeRegisterContextDBReg.h | 8 +++----
.../NativeRegisterContextDBReg_arm.cpp | 0
.../Native}/NativeRegisterContextDBReg_arm.h | 8 +++----
.../NativeRegisterContextDBReg_arm64.cpp | 0
.../NativeRegisterContextDBReg_arm64.h | 8 +++----
.../NativeRegisterContextDBReg_loongarch.cpp | 0
.../NativeRegisterContextDBReg_loongarch.h | 8 +++----
.../NativeRegisterContextDBReg_x86.cpp | 0
.../Native}/NativeRegisterContextDBReg_x86.h | 8 +++----
.../NativeRegisterContextRegisterInfo.cpp | 0
.../NativeRegisterContextRegisterInfo.h | 4 ++--
.../source/Plugins/Process/Linux/BUILD.gn | 1 +
.../source/Plugins/Process/Utility/BUILD.gn | 6 -----
.../Plugins/Process/Windows/Common/BUILD.gn | 1 +
.../source/Plugins/Register/Native/BUILD.gn | 22 +++++++++++++++++++
39 files changed, 88 insertions(+), 49 deletions(-)
create mode 100644 lldb/source/Plugins/Register/CMakeLists.txt
create mode 100644 lldb/source/Plugins/Register/Native/CMakeLists.txt
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg.cpp (99%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg.h (93%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_arm.cpp (100%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_arm.h (82%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_arm64.cpp (100%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_arm64.h (78%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_loongarch.cpp (100%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_loongarch.h (79%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_x86.cpp (100%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextDBReg_x86.h (85%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextRegisterInfo.cpp (100%)
rename lldb/source/Plugins/{Process/Utility => Register/Native}/NativeRegisterContextRegisterInfo.h (91%)
create mode 100644 llvm/utils/gn/secondary/lldb/source/Plugins/Register/Native/BUILD.gn
diff --git a/lldb/source/Plugins/CMakeLists.txt b/lldb/source/Plugins/CMakeLists.txt
index fb6fe22382bc6..7465c2217805c 100644
--- a/lldb/source/Plugins/CMakeLists.txt
+++ b/lldb/source/Plugins/CMakeLists.txt
@@ -17,6 +17,7 @@ add_subdirectory(OperatingSystem)
add_subdirectory(Platform)
add_subdirectory(Process)
add_subdirectory(REPL)
+add_subdirectory(Register)
add_subdirectory(RegisterTypeBuilder)
add_subdirectory(ScriptInterpreter)
add_subdirectory(StructuredData)
diff --git a/lldb/source/Plugins/Process/AIX/CMakeLists.txt b/lldb/source/Plugins/Process/AIX/CMakeLists.txt
index f1f9121822736..fcb0042592ea1 100644
--- a/lldb/source/Plugins/Process/AIX/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/AIX/CMakeLists.txt
@@ -14,6 +14,7 @@ add_lldb_library(lldbPluginProcessAIX
lldbUtility
lldbPluginProcessPOSIX
lldbPluginProcessUtility
+ lldbPluginRegisterNative
)
target_compile_definitions(lldbPluginProcessAIX PRIVATE "-D_ALL_SOURCE")
diff --git a/lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX.h b/lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX.h
index 1f4f79627db41..3acd872d3291b 100644
--- a/lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX.h
+++ b/lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX.h
@@ -9,7 +9,7 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H
#define LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H
-#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
+#include "Plugins/Register/Native/NativeRegisterContextRegisterInfo.h"
namespace lldb_private::process_aix {
diff --git a/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt b/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
index 559e6ff0dd570..61249ad94324f 100644
--- a/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
@@ -16,4 +16,5 @@ add_lldb_library(lldbPluginProcessFreeBSD
lldbUtility
lldbPluginProcessPOSIX
lldbPluginProcessUtility
+ lldbPluginRegisterNative
)
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h
index b7f659ef24de2..ba810f8f2d415 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h
@@ -9,7 +9,7 @@
#ifndef lldb_NativeRegisterContextFreeBSD_h
#define lldb_NativeRegisterContextFreeBSD_h
-#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
+#include "Plugins/Register/Native/NativeRegisterContextRegisterInfo.h"
namespace lldb_private {
namespace process_freebsd {
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h
index 5828af59a84ea..5654da18e054d 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h
@@ -18,7 +18,7 @@
// clang-format on
#include "Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_arm64.h"
#include "Register/Common/RegisterInfo_arm64.h"
#include <array>
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
index 9d86935d13c32..ca97ab56970a9 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
@@ -22,7 +22,7 @@
#include <optional>
#include "Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_x86.h"
#include "Register/Arch/RegisterContext_x86.h"
#include "Register/Arch/lldb-x86-register-enums.h"
diff --git a/lldb/source/Plugins/Process/Linux/CMakeLists.txt b/lldb/source/Plugins/Process/Linux/CMakeLists.txt
index ce624a5211b05..38f3a86f53853 100644
--- a/lldb/source/Plugins/Process/Linux/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/Linux/CMakeLists.txt
@@ -30,4 +30,5 @@ add_lldb_library(lldbPluginProcessLinux
lldbUtility
lldbPluginProcessPOSIX
lldbPluginProcessUtility
+ lldbPluginRegisterNative
)
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
index 797eacc3bdd0f..17066be16b684 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
@@ -9,7 +9,7 @@
#ifndef lldb_NativeRegisterContextLinux_h
#define lldb_NativeRegisterContextLinux_h
-#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
+#include "Plugins/Register/Native/NativeRegisterContextRegisterInfo.h"
#include "lldb/Host/common/NativeThreadProtocol.h"
#include "lldb/Target/MemoryTagManager.h"
#include "llvm/Support/Error.h"
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
index d4dbf920ea64a..cdb8c8f3eb3a1 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
@@ -12,7 +12,7 @@
#define lldb_NativeRegisterContextLinux_arm_h
#include "Plugins/Process/Linux/NativeRegisterContextLinux.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_arm.h"
#include "Register/Common/RegisterInfo_arm.h"
#include "Register/Arch/lldb-arm-register-enums.h"
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
index 163ea7c686606..80079e6885166 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
@@ -13,7 +13,7 @@
#include "Plugins/Process/Linux/NativeRegisterContextLinux.h"
#include "Plugins/Process/Utility/LinuxPTraceDefines_arm64sve.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_arm64.h"
#include "Register/Common/RegisterInfo_arm64.h"
#include "llvm/ADT/BitmaskEnum.h"
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h
index bca217851858d..a8bd386cb5aae 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h
@@ -12,7 +12,7 @@
// context for 64-bit server.
#include "Plugins/Process/Linux/NativeProcessLinux.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg.h"
#include "lldb/Utility/Status.h"
namespace lldb_private {
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
index d2367cb455b74..7caadfb9fc52c 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
@@ -12,7 +12,7 @@
#define lldb_NativeRegisterContextLinux_loongarch64_h
#include "Plugins/Process/Linux/NativeRegisterContextLinux.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_loongarch.h"
#include "Register/Common/RegisterInfo_loongarch64.h"
#include <asm/ptrace.h>
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h
index b58ae5bebe95f..4cf6005a4d133 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h
@@ -12,7 +12,7 @@
#define lldb_NativeRegisterContextLinux_x86_h
#include "Plugins/Process/Linux/NativeRegisterContextLinux.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_x86.h"
#include "Register/Linux/RegisterInfoLinux_x86.h"
#include "Register/Arch/RegisterContext_x86.h"
#include "Register/Arch/lldb-x86-register-enums.h"
diff --git a/lldb/source/Plugins/Process/NetBSD/CMakeLists.txt b/lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
index 438e6b6c2a3c7..a24a42b7f4f81 100644
--- a/lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
@@ -13,5 +13,6 @@ add_lldb_library(lldbPluginProcessNetBSD
lldbUtility
lldbPluginProcessPOSIX
lldbPluginProcessUtility
+ lldbPluginRegisterNative
util
)
diff --git a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h
index 08490aad9e0ba..0d5a21ff46bba 100644
--- a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h
+++ b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h
@@ -11,7 +11,7 @@
#include "lldb/Host/common/NativeThreadProtocol.h"
-#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
+#include "Plugins/Register/Native/NativeRegisterContextRegisterInfo.h"
namespace lldb_private {
namespace process_netbsd {
diff --git a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h
index dba5ac78f67d3..7d0f5ee7a723e 100644
--- a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h
+++ b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h
@@ -23,7 +23,7 @@
#include "Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h"
#include "Register/Arch/RegisterContext_x86.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_x86.h"
#include "Register/Arch/lldb-x86-register-enums.h"
namespace lldb_private {
diff --git a/lldb/source/Plugins/Process/Utility/CMakeLists.txt b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
index 19a65bfa4fde1..e74e17971d035 100644
--- a/lldb/source/Plugins/Process/Utility/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
@@ -12,12 +12,6 @@ add_lldb_library(lldbPluginProcessUtility
LinuxSignals.cpp
MemoryTagManagerAArch64MTE.cpp
NativeProcessSoftwareSingleStep.cpp
- NativeRegisterContextDBReg.cpp
- NativeRegisterContextDBReg_arm.cpp
- NativeRegisterContextDBReg_arm64.cpp
- NativeRegisterContextDBReg_loongarch.cpp
- NativeRegisterContextDBReg_x86.cpp
- NativeRegisterContextRegisterInfo.cpp
NetBSDSignals.cpp
OpenBSDSignals.cpp
RegisterContextDarwin_arm.cpp
diff --git a/lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt b/lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
index c6d8713a83159..87fad29b80764 100644
--- a/lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
@@ -28,6 +28,7 @@ add_lldb_library(lldbPluginProcessWindowsCommon PLUGIN
lldbHost
lldbInterpreter
lldbPluginDynamicLoaderWindowsDYLD
+ lldbPluginRegisterNative
lldbSymbol
lldbTarget
ws2_32
diff --git a/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h b/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h
index 2b71f639d562e..f75469cc58abd 100644
--- a/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h
+++ b/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h
@@ -9,7 +9,7 @@
#ifndef liblldb_NativeRegisterContextWindows_h_
#define liblldb_NativeRegisterContextWindows_h_
-#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
+#include "Plugins/Register/Native/NativeRegisterContextRegisterInfo.h"
#include "lldb/Host/common/NativeThreadProtocol.h"
#include "lldb/Utility/DataBufferHeap.h"
diff --git a/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h b/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
index 3824fc227f4f4..fd00009fdd33c 100644
--- a/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
+++ b/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
@@ -12,7 +12,7 @@
#include "NativeRegisterContextWindows.h"
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h"
+#include "Plugins/Register/Native/NativeRegisterContextDBReg_arm64.h"
#include "Register/Common/RegisterInfo_arm64.h"
#include "Register/Arch/lldb-arm64-register-enums.h"
diff --git a/lldb/source/Plugins/Register/CMakeLists.txt b/lldb/source/Plugins/Register/CMakeLists.txt
new file mode 100644
index 0000000000000..d862398db31b0
--- /dev/null
+++ b/lldb/source/Plugins/Register/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(Native)
diff --git a/lldb/source/Plugins/Register/Native/CMakeLists.txt b/lldb/source/Plugins/Register/Native/CMakeLists.txt
new file mode 100644
index 0000000000000..dc049817a1379
--- /dev/null
+++ b/lldb/source/Plugins/Register/Native/CMakeLists.txt
@@ -0,0 +1,21 @@
+add_lldb_library(lldbPluginRegisterNative NO_PLUGIN_DEPENDENCIES
+ NativeRegisterContextDBReg.cpp
+ NativeRegisterContextDBReg_arm.cpp
+ NativeRegisterContextDBReg_arm64.cpp
+ NativeRegisterContextDBReg_loongarch.cpp
+ NativeRegisterContextDBReg_x86.cpp
+ NativeRegisterContextRegisterInfo.cpp
+
+ LINK_COMPONENTS
+ Support
+ LINK_LIBS
+ lldbCore
+ lldbHost
+ lldbRegister
+ lldbUtility
+ ALLOWED_INTERNAL_DEPENDENCIES
+ lldbCore
+ lldbHost
+ lldbRegister
+ lldbUtility
+ )
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg.cpp
similarity index 99%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg.cpp
index 50d416028e89b..f35027e935140 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
+++ b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg.cpp
@@ -348,7 +348,6 @@ Status NativeRegisterContextDBReg::ClearAllHardwareWatchpoints() {
Status
NativeRegisterContextDBReg::GetWatchpointHitIndex(uint32_t &wp_index,
lldb::addr_t trap_addr) {
- wp_index = LLDB_INVALID_INDEX32;
Log *log = GetLog(LLDBLog::Watchpoints);
LLDB_LOG(log, "wp_index: {0}, trap_addr: {1:x}", wp_index, trap_addr);
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg.h
similarity index 93%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg.h
index 60d1bfa38dd01..aef7865fbf196 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
+++ b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg.h
@@ -6,10 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_H
-#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
+#include "NativeRegisterContextRegisterInfo.h"
#include <array>
#include <optional>
@@ -105,4 +105,4 @@ class NativeRegisterContextDBReg
} // namespace lldb_private
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_H
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.cpp b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm.cpp
similarity index 100%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.cpp
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm.cpp
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm.h
similarity index 82%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm.h
index 0d1de2ae2d89b..52a9d67dc7ca3 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h
+++ b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm.h
@@ -6,10 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_ARM_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_ARM_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_ARM_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_ARM_H
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg.h"
+#include "NativeRegisterContextDBReg.h"
namespace lldb_private {
@@ -39,4 +39,4 @@ class NativeRegisterContextDBReg_arm : public NativeRegisterContextDBReg {
} // namespace lldb_private
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_ARM_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_ARM_H
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm64.cpp
similarity index 100%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm64.cpp
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm64.h
similarity index 78%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm64.h
index 0dfa5e03fc27b..6f08663ae7c9b 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
+++ b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_arm64.h
@@ -6,10 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_ARM64_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_ARM64_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_ARM64_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_ARM64_H
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg.h"
+#include "NativeRegisterContextDBReg.h"
namespace lldb_private {
@@ -31,4 +31,4 @@ class NativeRegisterContextDBReg_arm64 : public NativeRegisterContextDBReg {
} // namespace lldb_private
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_ARM64_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_ARM64_H
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.cpp b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_loongarch.cpp
similarity index 100%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.cpp
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_loongarch.cpp
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_loongarch.h
similarity index 79%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_loongarch.h
index 703f41f3c298b..693dbc023ccb5 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
+++ b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_loongarch.h
@@ -6,10 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_LOONGARCH_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_LOONGARCH_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_LOONGARCH_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_LOONGARCH_H
-#include "Plugins/Process/Utility/NativeRegisterContextDBReg.h"
+#include "NativeRegisterContextDBReg.h"
namespace lldb_private {
@@ -31,4 +31,4 @@ class NativeRegisterContextDBReg_loongarch : public NativeRegisterContextDBReg {
} // namespace lldb_private
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_LOONGARCH_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_LOONGARCH_H
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.cpp b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_x86.cpp
similarity index 100%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.cpp
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_x86.cpp
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_x86.h
similarity index 85%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_x86.h
index 8a2c1a1dbcbe1..cc7ac734a1bd2 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
+++ b/lldb/source/Plugins/Register/Native/NativeRegisterContextDBReg_x86.h
@@ -6,10 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_X86_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_X86_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_X86_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_X86_H
-#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
+#include "NativeRegisterContextRegisterInfo.h"
namespace lldb_private {
@@ -45,4 +45,4 @@ class NativeRegisterContextDBReg_x86
} // namespace lldb_private
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTDBREG_X86_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTDBREG_X86_H
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.cpp b/lldb/source/Plugins/Register/Native/NativeRegisterContextRegisterInfo.cpp
similarity index 100%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.cpp
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextRegisterInfo.cpp
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h b/lldb/source/Plugins/Register/Native/NativeRegisterContextRegisterInfo.h
similarity index 91%
rename from lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h
rename to lldb/source/Plugins/Register/Native/NativeRegisterContextRegisterInfo.h
index 31ad12dc9fd7e..48465cd0e0ee2 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h
+++ b/lldb/source/Plugins/Register/Native/NativeRegisterContextRegisterInfo.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTREGISTERINFO_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_NATIVE_NATIVEREGISTERCONTEXTREGISTERINFO_H
#include <memory>
diff --git a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn
index 90fd39410939b..d79f5c21427f7 100644
--- a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn
+++ b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn
@@ -4,6 +4,7 @@ static_library("Linux") {
deps = [
"//lldb/source/Core",
"//lldb/source/Host",
+ "//lldb/source/Plugins/Register/Native",
"//lldb/source/Plugins/Process/POSIX",
"//lldb/source/Plugins/Process/Utility",
"//lldb/source/Symbol",
diff --git a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
index 59c7063500111..175599f39f62e 100644
--- a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
+++ b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
@@ -30,12 +30,6 @@ static_library("Utility") {
"LinuxSignals.cpp",
"MemoryTagManagerAArch64MTE.cpp",
"NativeProcessSoftwareSingleStep.cpp",
- "NativeRegisterContextDBReg.cpp",
- "NativeRegisterContextDBReg_arm.cpp",
- "NativeRegisterContextDBReg_arm64.cpp",
- "NativeRegisterContextDBReg_loongarch.cpp",
- "NativeRegisterContextDBReg_x86.cpp",
- "NativeRegisterContextRegisterInfo.cpp",
"NetBSDSignals.cpp",
"OpenBSDSignals.cpp",
"RegisterContextDarwin_arm.cpp",
diff --git a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
index 0fec9ee7eddd2..84ac4ea98d6fb 100644
--- a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
+++ b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
@@ -6,6 +6,7 @@ static_library("Common") {
"//lldb/source/Host",
"//lldb/source/Interpreter",
"//lldb/source/Plugins/DynamicLoader/Windows-DYLD",
+ "//lldb/source/Plugins/Register/Native",
"//lldb/source/Symbol",
"//lldb/source/Target",
"//llvm/lib/Support",
diff --git a/llvm/utils/gn/secondary/lldb/source/Plugins/Register/Native/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Plugins/Register/Native/BUILD.gn
new file mode 100644
index 0000000000000..930c36b4e3895
--- /dev/null
+++ b/llvm/utils/gn/secondary/lldb/source/Plugins/Register/Native/BUILD.gn
@@ -0,0 +1,22 @@
+static_library("Native") {
+ output_name = "lldbPluginRegisterNative"
+ configs += [ "//llvm/utils/gn/build:lldb_code" ]
+ deps = [
+ "//lldb/source/Core",
+ "//lldb/source/Host",
+ "//lldb/source/Register",
+ "//lldb/source/Utility",
+ "//llvm/lib/Support",
+ ]
+
+ # Uses source-relative includes for own headers.
+ include_dirs = [ "//lldb/source" ]
+ sources = [
+ "NativeRegisterContextDBReg.cpp",
+ "NativeRegisterContextDBReg_arm.cpp",
+ "NativeRegisterContextDBReg_arm64.cpp",
+ "NativeRegisterContextDBReg_loongarch.cpp",
+ "NativeRegisterContextDBReg_x86.cpp",
+ "NativeRegisterContextRegisterInfo.cpp",
+ ]
+}
More information about the lldb-commits
mailing list