[Lldb-commits] [lldb] [llvm] [lldb] Extract reusable core register contexts (PR #237442)
Minsoo Choo via lldb-commits
lldb-commits at lists.llvm.org
Fri Oct 30 17:11:45 PDT 2026
https://github.com/mchoo7 created https://github.com/llvm/llvm-project/pull/237442
As part of RegisterInfo/RegisterContext refactoring under Process/Utility, move RegisterContextPOSIX to Plugins/Register/Core/RegisterContextCore. The renaming is necessary because RegisterContextPOSIX doesn't use any POSIX APIs, so the term is misleading (e.g. FreeBSD-Kernel-Core does not have any relationship with POSIX except that the FreeBSD operating system itself is compatible with POSIX). Although RegisterContextPOSIX doesn't do coredump-specific operations, only elf-core and FreeBSD-Kernel-Core depend on it and that's the only naming I could justify (Names like Unix and Common don't fit in this case). We can change the name later when non-coredump process plugin depends on it, but the probability is low considering that NativeRegisterContext and RegisterContextDarwin/Mach already cover what we need.
>From 79469cdb7a27a5e2f8e26586bac9354cc3c3d545 Mon Sep 17 00:00:00 2001
From: Minsoo Choo <minsoo at minsoo.io>
Date: Sun, 6 Sep 2026 10:12:43 -0400
Subject: [PATCH] [lldb] Extract reusable core register contexts
---
.../FreeBSD-Kernel-Core/CMakeLists.txt | 1 +
.../RegisterContextFreeBSDKernelCore_arm.cpp | 2 +-
.../RegisterContextFreeBSDKernelCore_arm.h | 4 +-
...RegisterContextFreeBSDKernelCore_arm64.cpp | 2 +-
.../RegisterContextFreeBSDKernelCore_arm64.h | 4 +-
.../RegisterContextFreeBSDKernelCore_i386.cpp | 2 +-
.../RegisterContextFreeBSDKernelCore_i386.h | 4 +-
...gisterContextFreeBSDKernelCore_ppc64le.cpp | 2 +-
...RegisterContextFreeBSDKernelCore_ppc64le.h | 4 +-
...gisterContextFreeBSDKernelCore_riscv64.cpp | 2 +-
...RegisterContextFreeBSDKernelCore_riscv64.h | 4 +-
...egisterContextFreeBSDKernelCore_x86_64.cpp | 2 +-
.../RegisterContextFreeBSDKernelCore_x86_64.h | 4 +-
.../Plugins/Process/FreeBSD/CMakeLists.txt | 1 -
.../Process/FreeBSD/NativeProcessFreeBSD.h | 1 -
.../NativeRegisterContextFreeBSD_powerpc.cpp | 3 +-
.../Plugins/Process/Utility/CMakeLists.txt | 9 ----
.../Plugins/Process/elf-core/CMakeLists.txt | 1 +
.../elf-core/RegisterContextPOSIXCore_arm.cpp | 2 +-
.../elf-core/RegisterContextPOSIXCore_arm.h | 4 +-
.../RegisterContextPOSIXCore_arm64.cpp | 2 +-
.../elf-core/RegisterContextPOSIXCore_arm64.h | 4 +-
.../RegisterContextPOSIXCore_loongarch64.cpp | 2 +-
.../RegisterContextPOSIXCore_loongarch64.h | 4 +-
.../RegisterContextPOSIXCore_powerpc.cpp | 2 +-
.../RegisterContextPOSIXCore_powerpc.h | 4 +-
.../RegisterContextPOSIXCore_ppc64le.cpp | 2 +-
.../RegisterContextPOSIXCore_ppc64le.h | 4 +-
.../RegisterContextPOSIXCore_riscv64.cpp | 2 +-
.../RegisterContextPOSIXCore_riscv64.h | 4 +-
.../RegisterContextPOSIXCore_s390x.cpp | 2 +-
.../elf-core/RegisterContextPOSIXCore_s390x.h | 4 +-
.../elf-core/RegisterContextPOSIXCore_x86.cpp | 2 +-
.../elf-core/RegisterContextPOSIXCore_x86.h | 4 +-
lldb/source/Plugins/Register/CMakeLists.txt | 1 +
.../Plugins/Register/Core/CMakeLists.txt | 22 ++++++++
.../Core/RegisterContextCore_arm.cpp} | 34 ++++++-------
.../Core/RegisterContextCore_arm.h} | 14 +++---
.../Core/RegisterContextCore_arm64.cpp} | 50 +++++++++----------
.../Core/RegisterContextCore_arm64.h} | 14 +++---
.../Core/RegisterContextCore_loongarch64.cpp} | 36 ++++++-------
.../Core/RegisterContextCore_loongarch64.h} | 14 +++---
.../Core/RegisterContextCore_powerpc.cpp} | 38 +++++++-------
.../Core/RegisterContextCore_powerpc.h} | 16 +++---
.../Core/RegisterContextCore_ppc64le.cpp} | 36 ++++++-------
.../Core/RegisterContextCore_ppc64le.h} | 12 ++---
.../Core/RegisterContextCore_riscv32.cpp} | 32 ++++++------
.../Core/RegisterContextCore_riscv32.h} | 14 +++---
.../Core/RegisterContextCore_riscv64.cpp} | 32 ++++++------
.../Core/RegisterContextCore_riscv64.h} | 14 +++---
.../Core/RegisterContextCore_s390x.cpp} | 34 ++++++-------
.../Core/RegisterContextCore_s390x.h} | 14 +++---
.../Core/RegisterContextCore_x86.cpp} | 50 +++++++++----------
.../Core/RegisterContextCore_x86.h} | 14 +++---
.../Utility/RegisterInfoFreeBSDTest.cpp | 2 +-
.../source/Plugins/Process/Utility/BUILD.gn | 9 ----
.../source/Plugins/Process/elf-core/BUILD.gn | 1 +
.../source/Plugins/Register/Core/BUILD.gn | 23 +++++++++
58 files changed, 327 insertions(+), 299 deletions(-)
create mode 100644 lldb/source/Plugins/Register/Core/CMakeLists.txt
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_arm.cpp => Register/Core/RegisterContextCore_arm.cpp} (67%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_arm.h => Register/Core/RegisterContextCore_arm.h} (76%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_arm64.cpp => Register/Core/RegisterContextCore_arm64.cpp} (62%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_arm64.h => Register/Core/RegisterContextCore_arm64.h} (84%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_loongarch64.cpp => Register/Core/RegisterContextCore_loongarch64.cpp} (61%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_loongarch64.h => Register/Core/RegisterContextCore_loongarch64.h} (78%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_powerpc.cpp => Register/Core/RegisterContextCore_powerpc.cpp} (80%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_powerpc.h => Register/Core/RegisterContextCore_powerpc.h} (80%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_ppc64le.cpp => Register/Core/RegisterContextCore_ppc64le.cpp} (84%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_ppc64le.h => Register/Core/RegisterContextCore_ppc64le.h} (82%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_riscv32.cpp => Register/Core/RegisterContextCore_riscv32.cpp} (62%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_riscv32.h => Register/Core/RegisterContextCore_riscv32.h} (76%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_riscv64.cpp => Register/Core/RegisterContextCore_riscv64.cpp} (61%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_riscv64.h => Register/Core/RegisterContextCore_riscv64.h} (76%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_s390x.cpp => Register/Core/RegisterContextCore_s390x.cpp} (82%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_s390x.h => Register/Core/RegisterContextCore_s390x.h} (79%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_x86.cpp => Register/Core/RegisterContextCore_x86.cpp} (89%)
rename lldb/source/Plugins/{Process/Utility/RegisterContextPOSIX_x86.h => Register/Core/RegisterContextCore_x86.h} (84%)
create mode 100644 llvm/utils/gn/secondary/lldb/source/Plugins/Register/Core/BUILD.gn
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
index b9487abe105e0e..c11c15a5a6dfdf 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
@@ -28,6 +28,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
lldbHost
lldbTarget
lldbPluginObjectFileELF
+ lldbPluginRegisterCore
kvm
)
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp
index f06f80fd33ce18..ba6d95c7557e9b 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp
@@ -24,7 +24,7 @@ using namespace lldb_private;
RegisterContextFreeBSDKernelCore_arm::RegisterContextFreeBSDKernelCore_arm(
Thread &thread, std::unique_ptr<RegisterInfo_arm> register_info_up,
lldb::addr_t pcb_addr)
- : RegisterContextPOSIX_arm(thread, std::move(register_info_up)),
+ : RegisterContextCore_arm(thread, std::move(register_info_up)),
m_pcb_addr(pcb_addr) {}
bool RegisterContextFreeBSDKernelCore_arm::ReadGPR() { return true; }
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.h
index f955a0094fc0aa..b8b6db02a109d1 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.h
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.h
@@ -9,10 +9,10 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_ARM_H
#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_ARM_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_arm.h"
+#include "Plugins/Register/Core/RegisterContextCore_arm.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
-class RegisterContextFreeBSDKernelCore_arm : public RegisterContextPOSIX_arm {
+class RegisterContextFreeBSDKernelCore_arm : public RegisterContextCore_arm {
public:
RegisterContextFreeBSDKernelCore_arm(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
index aaadd1a0c66f75..b251a66c2a8e61 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
@@ -29,7 +29,7 @@ using namespace lldb_private;
RegisterContextFreeBSDKernelCore_arm64::RegisterContextFreeBSDKernelCore_arm64(
Thread &thread, std::unique_ptr<RegisterInfo_arm64> register_info_up,
lldb::addr_t pcb_addr)
- : RegisterContextPOSIX_arm64(thread, std::move(register_info_up)),
+ : RegisterContextCore_arm64(thread, std::move(register_info_up)),
m_pcb_addr(pcb_addr) {}
bool RegisterContextFreeBSDKernelCore_arm64::ReadGPR() { return true; }
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.h
index 6fd44f03e315db..a0734a8fb646a0 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.h
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.h
@@ -9,13 +9,13 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_ARM64_H
#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_ARM64_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_arm64.h"
+#include "Plugins/Register/Core/RegisterContextCore_arm64.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
#include <optional>
class RegisterContextFreeBSDKernelCore_arm64
- : public RegisterContextPOSIX_arm64 {
+ : public RegisterContextCore_arm64 {
public:
RegisterContextFreeBSDKernelCore_arm64(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp
index 0b44e52764d7cb..2c1ef39623144a 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp
@@ -22,7 +22,7 @@ using namespace lldb_private;
RegisterContextFreeBSDKernelCore_i386::RegisterContextFreeBSDKernelCore_i386(
Thread &thread, RegisterInfoInterface *register_info, lldb::addr_t pcb_addr)
- : RegisterContextPOSIX_x86(thread, 0, register_info), m_pcb_addr(pcb_addr) {
+ : RegisterContextCore_x86(thread, 0, register_info), m_pcb_addr(pcb_addr) {
}
bool RegisterContextFreeBSDKernelCore_i386::ReadGPR() { return true; }
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.h
index 26576734040f2a..d5c92efaa3fdee 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.h
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.h
@@ -9,10 +9,10 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_I386_H
#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_I386_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_x86.h"
+#include "Plugins/Register/Core/RegisterContextCore_x86.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
-class RegisterContextFreeBSDKernelCore_i386 : public RegisterContextPOSIX_x86 {
+class RegisterContextFreeBSDKernelCore_i386 : public RegisterContextCore_x86 {
public:
RegisterContextFreeBSDKernelCore_i386(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
index 3b0f269a3014db..236dc83af9aef9 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
@@ -24,7 +24,7 @@ RegisterContextFreeBSDKernelCore_ppc64le::
RegisterContextFreeBSDKernelCore_ppc64le(
Thread &thread, lldb_private::RegisterInfoInterface *register_info,
lldb::addr_t pcb_addr)
- : RegisterContextPOSIX_ppc64le(thread, 0, register_info),
+ : RegisterContextCore_ppc64le(thread, 0, register_info),
m_pcb_addr(pcb_addr) {}
bool RegisterContextFreeBSDKernelCore_ppc64le::ReadRegister(
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h
index 5895744e6fa3dc..babdc4f94113d7 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h
@@ -9,11 +9,11 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_PPC64LE_H
#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_PPC64LE_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h"
+#include "Plugins/Register/Core/RegisterContextCore_ppc64le.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
class RegisterContextFreeBSDKernelCore_ppc64le
- : public RegisterContextPOSIX_ppc64le {
+ : public RegisterContextCore_ppc64le {
public:
RegisterContextFreeBSDKernelCore_ppc64le(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
index ba210259cf71e9..41518c3c2cac6f 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
@@ -25,7 +25,7 @@ RegisterContextFreeBSDKernelCore_riscv64::
Thread &thread,
std::unique_ptr<RegisterInfo_riscv64> register_info_up,
lldb::addr_t pcb_addr)
- : RegisterContextPOSIX_riscv64(thread, std::move(register_info_up)),
+ : RegisterContextCore_riscv64(thread, std::move(register_info_up)),
m_pcb_addr(pcb_addr) {}
bool RegisterContextFreeBSDKernelCore_riscv64::ReadGPR() { return true; }
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h
index de9b7a3d9a0dac..873a0547611b7a 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h
@@ -9,11 +9,11 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_RISCV64_H
#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_RISCV64_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_riscv64.h"
+#include "Plugins/Register/Core/RegisterContextCore_riscv64.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
class RegisterContextFreeBSDKernelCore_riscv64
- : public RegisterContextPOSIX_riscv64 {
+ : public RegisterContextCore_riscv64 {
public:
RegisterContextFreeBSDKernelCore_riscv64(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
index a0cb53526d3314..eb8ea27c1b36b4 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
@@ -24,7 +24,7 @@ RegisterContextFreeBSDKernelCore_x86_64::
RegisterContextFreeBSDKernelCore_x86_64(
Thread &thread, RegisterInfoInterface *register_info,
lldb::addr_t pcb_addr)
- : RegisterContextPOSIX_x86(thread, 0, register_info), m_pcb_addr(pcb_addr) {
+ : RegisterContextCore_x86(thread, 0, register_info), m_pcb_addr(pcb_addr) {
}
bool RegisterContextFreeBSDKernelCore_x86_64::ReadGPR() { return true; }
diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.h
index 5e2877ca55b9db..ae3cfd03f61485 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.h
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.h
@@ -9,11 +9,11 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_X86_64_H
#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_X86_64_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_x86.h"
+#include "Plugins/Register/Core/RegisterContextCore_x86.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
class RegisterContextFreeBSDKernelCore_x86_64
- : public RegisterContextPOSIX_x86 {
+ : public RegisterContextCore_x86 {
public:
RegisterContextFreeBSDKernelCore_x86_64(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt b/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
index 61249ad94324fe..e752f0c8b861c4 100644
--- a/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
@@ -15,6 +15,5 @@ add_lldb_library(lldbPluginProcessFreeBSD
lldbTarget
lldbUtility
lldbPluginProcessPOSIX
- lldbPluginProcessUtility
lldbPluginRegisterNative
)
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.h b/lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.h
index a22a385dfc6a46..fce1bbfc93a924 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.h
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.h
@@ -10,7 +10,6 @@
#define liblldb_NativeProcessFreeBSD_H_
#include "Plugins/Process/POSIX/NativeProcessELF.h"
-#include "Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h"
#include "lldb/Target/MemoryRegionInfo.h"
#include "lldb/Utility/ArchSpec.h"
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
index 560c3e567702c8..af357505cddd77 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
@@ -16,8 +16,7 @@
#include "lldb/Utility/Status.h"
#include "Plugins/Process/FreeBSD/NativeProcessFreeBSD.h"
-// for register enum definitions
-#include "Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h"
+#include "Register/Arch/RegisterContext_powerpc.h"
// clang-format off
#include <sys/param.h>
diff --git a/lldb/source/Plugins/Process/Utility/CMakeLists.txt b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
index e74e17971d0356..6dbd6a5279e9cc 100644
--- a/lldb/source/Plugins/Process/Utility/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
@@ -23,15 +23,6 @@ add_lldb_library(lldbPluginProcessUtility
RegisterContextMach_arm.cpp
RegisterContextMach_x86_64.cpp
RegisterContextMemory.cpp
- RegisterContextPOSIX_arm.cpp
- RegisterContextPOSIX_arm64.cpp
- RegisterContextPOSIX_loongarch64.cpp
- RegisterContextPOSIX_riscv32.cpp
- RegisterContextPOSIX_powerpc.cpp
- RegisterContextPOSIX_ppc64le.cpp
- RegisterContextPOSIX_riscv64.cpp
- RegisterContextPOSIX_s390x.cpp
- RegisterContextPOSIX_x86.cpp
RegisterContextThreadMemory.cpp
StopInfoMachException.cpp
ThreadMemory.cpp
diff --git a/lldb/source/Plugins/Process/elf-core/CMakeLists.txt b/lldb/source/Plugins/Process/elf-core/CMakeLists.txt
index d1addf2f36be39..4232b46b54ef75 100644
--- a/lldb/source/Plugins/Process/elf-core/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/elf-core/CMakeLists.txt
@@ -23,4 +23,5 @@ add_lldb_library(lldbPluginProcessElfCore PLUGIN
lldbPluginObjectFilePlaceholder
lldbPluginObjectFileELF
lldbPluginProcessUtility
+ lldbPluginRegisterCore
)
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp
index ae18c3f15f9266..725d7996f7d60b 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp
@@ -18,7 +18,7 @@ using namespace lldb_private;
RegisterContextCorePOSIX_arm::RegisterContextCorePOSIX_arm(
Thread &thread, std::unique_ptr<RegisterInfo_arm> register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_arm(thread, std::move(register_info)) {
+ : RegisterContextCore_arm(thread, std::move(register_info)) {
m_gpr_buffer = std::make_shared<DataBufferHeap>(gpregset.GetDataStart(),
gpregset.GetByteSize());
m_gpr.SetData(m_gpr_buffer);
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h
index 436a0527252cd7..55aa2aa3ee3fe5 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h
@@ -9,12 +9,12 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_ARM_H
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_ARM_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_arm.h"
+#include "Plugins/Register/Core/RegisterContextCore_arm.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/DataExtractor.h"
-class RegisterContextCorePOSIX_arm : public RegisterContextPOSIX_arm {
+class RegisterContextCorePOSIX_arm : public RegisterContextCore_arm {
public:
RegisterContextCorePOSIX_arm(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
index e7ae3ca40fe223..8b78e41d641da1 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
@@ -95,7 +95,7 @@ RegisterContextCorePOSIX_arm64::Create(Thread &thread, const ArchSpec &arch,
RegisterContextCorePOSIX_arm64::RegisterContextCorePOSIX_arm64(
Thread &thread, std::unique_ptr<RegisterInfo_arm64> register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_arm64(thread, std::move(register_info)) {
+ : RegisterContextCore_arm64(thread, std::move(register_info)) {
::memset(&m_sme_pseudo_regs, 0, sizeof(m_sme_pseudo_regs));
ProcessElfCore *process =
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
index a86f3f03179258..be52fd00f52a43 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
@@ -10,14 +10,14 @@
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_ARM64_H
#include "Plugins/Process/Utility/LinuxPTraceDefines_arm64sve.h"
-#include "Plugins/Process/Utility/RegisterContextPOSIX_arm64.h"
+#include "Plugins/Register/Core/RegisterContextCore_arm64.h"
#include "Register/Common/RegisterTypeDetector_arm64.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/DataExtractor.h"
-class RegisterContextCorePOSIX_arm64 : public RegisterContextPOSIX_arm64 {
+class RegisterContextCorePOSIX_arm64 : public RegisterContextCore_arm64 {
public:
static std::unique_ptr<RegisterContextCorePOSIX_arm64>
Create(lldb_private::Thread &thread, const lldb_private::ArchSpec &arch,
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.cpp
index 982eafe07b3db2..5bf4b184dce4b4 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.cpp
@@ -28,7 +28,7 @@ RegisterContextCorePOSIX_loongarch64::RegisterContextCorePOSIX_loongarch64(
Thread &thread,
std::unique_ptr<RegisterInfo_loongarch64> register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_loongarch64(thread, std::move(register_info)) {
+ : RegisterContextCore_loongarch64(thread, std::move(register_info)) {
m_gpr.SetData(std::make_shared<DataBufferHeap>(gpregset.GetDataStart(),
gpregset.GetByteSize()));
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.h
index fd2e5b1c11abbf..0420912cd89b29 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_loongarch64.h
@@ -9,7 +9,7 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_LOONGARCH64_H
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_LOONGARCH64_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h"
+#include "Plugins/Register/Core/RegisterContextCore_loongarch64.h"
#include "Register/Common/RegisterInfo_loongarch64.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
@@ -20,7 +20,7 @@
#include <memory>
class RegisterContextCorePOSIX_loongarch64
- : public RegisterContextPOSIX_loongarch64 {
+ : public RegisterContextCore_loongarch64 {
public:
static std::unique_ptr<RegisterContextCorePOSIX_loongarch64>
Create(lldb_private::Thread &thread, const lldb_private::ArchSpec &arch,
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp
index 4e7be91c38959d..b91f503c12d2a4 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp
@@ -19,7 +19,7 @@ using namespace lldb_private;
RegisterContextCorePOSIX_powerpc::RegisterContextCorePOSIX_powerpc(
Thread &thread, RegisterInfoInterface *register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_powerpc(thread, 0, register_info) {
+ : RegisterContextCore_powerpc(thread, 0, register_info) {
m_gpr_buffer = std::make_shared<DataBufferHeap>(gpregset.GetDataStart(),
gpregset.GetByteSize());
m_gpr.SetData(m_gpr_buffer);
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h
index 5364c5589238a1..095df6a215e9c9 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h
@@ -9,11 +9,11 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_POWERPC_H
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_POWERPC_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h"
+#include "Plugins/Register/Core/RegisterContextCore_powerpc.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
#include "lldb/Utility/DataExtractor.h"
-class RegisterContextCorePOSIX_powerpc : public RegisterContextPOSIX_powerpc {
+class RegisterContextCorePOSIX_powerpc : public RegisterContextCore_powerpc {
public:
RegisterContextCorePOSIX_powerpc(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp
index 4f0f46b2213c45..de4f03b563407f 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp
@@ -22,7 +22,7 @@ using namespace lldb_private;
RegisterContextCorePOSIX_ppc64le::RegisterContextCorePOSIX_ppc64le(
Thread &thread, RegisterInfoInterface *register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_ppc64le(thread, 0, register_info) {
+ : RegisterContextCore_ppc64le(thread, 0, register_info) {
m_gpr_buffer = std::make_shared<DataBufferHeap>(gpregset.GetDataStart(),
gpregset.GetByteSize());
m_gpr.SetData(m_gpr_buffer);
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.h
index 8de77a7e25bff0..5ef69c02e60eaa 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.h
@@ -9,11 +9,11 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_PPC64LE_H
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_PPC64LE_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h"
+#include "Plugins/Register/Core/RegisterContextCore_ppc64le.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
#include "lldb/Utility/DataExtractor.h"
-class RegisterContextCorePOSIX_ppc64le : public RegisterContextPOSIX_ppc64le {
+class RegisterContextCorePOSIX_ppc64le : public RegisterContextCore_ppc64le {
public:
RegisterContextCorePOSIX_ppc64le(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.cpp
index 703768709ebac1..622de6e25ee4bd 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.cpp
@@ -33,7 +33,7 @@ RegisterContextCorePOSIX_riscv64::Create(Thread &thread, const ArchSpec &arch,
RegisterContextCorePOSIX_riscv64::RegisterContextCorePOSIX_riscv64(
Thread &thread, std::unique_ptr<RegisterInfo_riscv64> register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_riscv64(thread, std::move(register_info)) {
+ : RegisterContextCore_riscv64(thread, std::move(register_info)) {
m_gpr.SetData(std::make_shared<DataBufferHeap>(gpregset.GetDataStart(),
gpregset.GetByteSize()));
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.h
index 43938875693fb8..b327b045c40f17 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv64.h
@@ -9,7 +9,7 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_RISCV64_H
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_RISCV64_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_riscv64.h"
+#include "Plugins/Register/Core/RegisterContextCore_riscv64.h"
#include "Register/Common/RegisterInfo_riscv64.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
@@ -19,7 +19,7 @@
#include <memory>
-class RegisterContextCorePOSIX_riscv64 : public RegisterContextPOSIX_riscv64 {
+class RegisterContextCorePOSIX_riscv64 : public RegisterContextCore_riscv64 {
public:
static std::unique_ptr<RegisterContextCorePOSIX_riscv64>
Create(lldb_private::Thread &thread, const lldb_private::ArchSpec &arch,
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp
index 69707eeb3f1e68..afe82b500646e7 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp
@@ -19,7 +19,7 @@ using namespace lldb_private;
RegisterContextCorePOSIX_s390x::RegisterContextCorePOSIX_s390x(
Thread &thread, RegisterInfoInterface *register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_s390x(thread, 0, register_info) {
+ : RegisterContextCore_s390x(thread, 0, register_info) {
m_gpr_buffer = std::make_shared<DataBufferHeap>(gpregset.GetDataStart(),
gpregset.GetByteSize());
m_gpr.SetData(m_gpr_buffer);
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h
index edb7cbc9462f6a..b69fc920ebf2d5 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h
@@ -9,11 +9,11 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_S390X_H
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_S390X_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_s390x.h"
+#include "Plugins/Register/Core/RegisterContextCore_s390x.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
#include "lldb/Utility/DataExtractor.h"
-class RegisterContextCorePOSIX_s390x : public RegisterContextPOSIX_s390x {
+class RegisterContextCorePOSIX_s390x : public RegisterContextCore_s390x {
public:
RegisterContextCorePOSIX_s390x(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp
index 2eadbcc338184e..1fb6964cfb4106 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp
@@ -16,7 +16,7 @@ using namespace lldb_private;
RegisterContextCorePOSIX_x86::RegisterContextCorePOSIX_x86(
Thread &thread, RegisterInfoInterface *register_info,
const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_x86(thread, 0, register_info) {
+ : RegisterContextCore_x86(thread, 0, register_info) {
size_t size, len;
size = GetGPRSize();
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h
index 56f910b18683ae..71bc2721156848 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h
+++ b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h
@@ -9,10 +9,10 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_X86_H
#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_X86_H
-#include "Plugins/Process/Utility/RegisterContextPOSIX_x86.h"
+#include "Plugins/Register/Core/RegisterContextCore_x86.h"
#include "Plugins/Process/elf-core/RegisterUtilities.h"
-class RegisterContextCorePOSIX_x86 : public RegisterContextPOSIX_x86 {
+class RegisterContextCorePOSIX_x86 : public RegisterContextCore_x86 {
public:
RegisterContextCorePOSIX_x86(
lldb_private::Thread &thread,
diff --git a/lldb/source/Plugins/Register/CMakeLists.txt b/lldb/source/Plugins/Register/CMakeLists.txt
index d862398db31b0f..6660ad9a66b134 100644
--- a/lldb/source/Plugins/Register/CMakeLists.txt
+++ b/lldb/source/Plugins/Register/CMakeLists.txt
@@ -1 +1,2 @@
+add_subdirectory(Core)
add_subdirectory(Native)
diff --git a/lldb/source/Plugins/Register/Core/CMakeLists.txt b/lldb/source/Plugins/Register/Core/CMakeLists.txt
new file mode 100644
index 00000000000000..c975bdc7fedb95
--- /dev/null
+++ b/lldb/source/Plugins/Register/Core/CMakeLists.txt
@@ -0,0 +1,22 @@
+add_lldb_library(lldbPluginRegisterCore NO_PLUGIN_DEPENDENCIES
+ RegisterContextCore_arm.cpp
+ RegisterContextCore_arm64.cpp
+ RegisterContextCore_loongarch64.cpp
+ RegisterContextCore_powerpc.cpp
+ RegisterContextCore_ppc64le.cpp
+ RegisterContextCore_riscv32.cpp
+ RegisterContextCore_riscv64.cpp
+ RegisterContextCore_s390x.cpp
+ RegisterContextCore_x86.cpp
+
+ LINK_COMPONENTS
+ Support
+ LINK_LIBS
+ lldbRegister
+ lldbTarget
+ lldbUtility
+ ALLOWED_INTERNAL_DEPENDENCIES
+ lldbRegister
+ lldbTarget
+ lldbUtility
+ )
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm.cpp
similarity index 67%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_arm.cpp
index 964395ade0f6a4..03c81a09ee03de 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_arm.cpp --------------------------------------===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -20,54 +20,54 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_arm.h"
+#include "RegisterContextCore_arm.h"
using namespace lldb;
using namespace lldb_private;
-bool RegisterContextPOSIX_arm::IsGPR(unsigned reg) {
+bool RegisterContextCore_arm::IsGPR(unsigned reg) {
if (m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_arm::GPRegSet)
return true;
return false;
}
-bool RegisterContextPOSIX_arm::IsFPR(unsigned reg) {
+bool RegisterContextCore_arm::IsFPR(unsigned reg) {
if (m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_arm::FPRegSet)
return true;
return false;
}
-RegisterContextPOSIX_arm::RegisterContextPOSIX_arm(
+RegisterContextCore_arm::RegisterContextCore_arm(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_arm> register_info)
: lldb_private::RegisterContext(thread, 0),
m_register_info_up(std::move(register_info)) {}
-RegisterContextPOSIX_arm::~RegisterContextPOSIX_arm() = default;
+RegisterContextCore_arm::~RegisterContextCore_arm() = default;
-void RegisterContextPOSIX_arm::Invalidate() {}
+void RegisterContextCore_arm::Invalidate() {}
-void RegisterContextPOSIX_arm::InvalidateAllRegisters() {}
+void RegisterContextCore_arm::InvalidateAllRegisters() {}
-unsigned RegisterContextPOSIX_arm::GetRegisterOffset(unsigned reg) {
+unsigned RegisterContextCore_arm::GetRegisterOffset(unsigned reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_offset;
}
-unsigned RegisterContextPOSIX_arm::GetRegisterSize(unsigned reg) {
+unsigned RegisterContextCore_arm::GetRegisterSize(unsigned reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_size;
}
-size_t RegisterContextPOSIX_arm::GetRegisterCount() {
+size_t RegisterContextCore_arm::GetRegisterCount() {
return m_register_info_up->GetRegisterCount();
}
-size_t RegisterContextPOSIX_arm::GetGPRSize() {
+size_t RegisterContextCore_arm::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
-const lldb_private::RegisterInfo *RegisterContextPOSIX_arm::GetRegisterInfo() {
+const lldb_private::RegisterInfo *RegisterContextCore_arm::GetRegisterInfo() {
// Commonly, this method is overridden and g_register_infos is copied and
// specialized. So, use GetRegisterInfo() rather than g_register_infos in
// this scope.
@@ -75,23 +75,23 @@ const lldb_private::RegisterInfo *RegisterContextPOSIX_arm::GetRegisterInfo() {
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_arm::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_arm::GetRegisterInfoAtIndex(size_t reg) {
if (reg < GetRegisterCount())
return &GetRegisterInfo()[reg];
return nullptr;
}
-size_t RegisterContextPOSIX_arm::GetRegisterSetCount() {
+size_t RegisterContextCore_arm::GetRegisterSetCount() {
return m_register_info_up->GetRegisterSetCount();
}
const lldb_private::RegisterSet *
-RegisterContextPOSIX_arm::GetRegisterSet(size_t set) {
+RegisterContextCore_arm::GetRegisterSet(size_t set) {
return m_register_info_up->GetRegisterSet(set);
}
-const char *RegisterContextPOSIX_arm::GetRegisterName(unsigned reg) {
+const char *RegisterContextCore_arm::GetRegisterName(unsigned reg) {
if (reg < GetRegisterCount())
return GetRegisterInfo()[reg].name;
return nullptr;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm.h
similarity index 76%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_arm.h
index 555af0b4228660..085c3293331af4 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_arm.h ------------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,21 +6,21 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_ARM_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_ARM_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_ARM_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_ARM_H
#include "Register/RegisterInfoInterface.h"
#include "Register/Common/RegisterInfo_arm.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_arm : public lldb_private::RegisterContext {
+class RegisterContextCore_arm : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_arm(
+ RegisterContextCore_arm(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_arm> register_info);
- ~RegisterContextPOSIX_arm() override;
+ ~RegisterContextCore_arm() override;
void Invalidate();
@@ -59,4 +59,4 @@ class RegisterContextPOSIX_arm : public lldb_private::RegisterContext {
virtual bool WriteFPR() = 0;
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_ARM_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_ARM_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm64.cpp
similarity index 62%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_arm64.cpp
index c0e49579cdc9de..af9f520ed11ea3 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm64.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_arm64.cpp ------------------------------------===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -20,87 +20,87 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_arm64.h"
+#include "RegisterContextCore_arm64.h"
using namespace lldb;
using namespace lldb_private;
-bool RegisterContextPOSIX_arm64::IsGPR(unsigned reg) {
+bool RegisterContextCore_arm64::IsGPR(unsigned reg) {
if (m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_arm64::GPRegSet)
return true;
return false;
}
-bool RegisterContextPOSIX_arm64::IsFPR(unsigned reg) {
+bool RegisterContextCore_arm64::IsFPR(unsigned reg) {
if (m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_arm64::FPRegSet)
return true;
return false;
}
-bool RegisterContextPOSIX_arm64::IsSVE(unsigned reg) const {
+bool RegisterContextCore_arm64::IsSVE(unsigned reg) const {
return m_register_info_up->IsSVEReg(reg);
}
-bool RegisterContextPOSIX_arm64::IsSME(unsigned reg) const {
+bool RegisterContextCore_arm64::IsSME(unsigned reg) const {
return m_register_info_up->IsSMEReg(reg);
}
-bool RegisterContextPOSIX_arm64::IsPAuth(unsigned reg) const {
+bool RegisterContextCore_arm64::IsPAuth(unsigned reg) const {
return m_register_info_up->IsPAuthReg(reg);
}
-bool RegisterContextPOSIX_arm64::IsTLS(unsigned reg) const {
+bool RegisterContextCore_arm64::IsTLS(unsigned reg) const {
return m_register_info_up->IsTLSReg(reg);
}
-bool RegisterContextPOSIX_arm64::IsMTE(unsigned reg) const {
+bool RegisterContextCore_arm64::IsMTE(unsigned reg) const {
return m_register_info_up->IsMTEReg(reg);
}
-bool RegisterContextPOSIX_arm64::IsFPMR(unsigned reg) const {
+bool RegisterContextCore_arm64::IsFPMR(unsigned reg) const {
return m_register_info_up->IsFPMRReg(reg);
}
-bool RegisterContextPOSIX_arm64::IsGCS(unsigned reg) const {
+bool RegisterContextCore_arm64::IsGCS(unsigned reg) const {
return m_register_info_up->IsGCSReg(reg);
}
-bool RegisterContextPOSIX_arm64::IsPOE(unsigned reg) const {
+bool RegisterContextCore_arm64::IsPOE(unsigned reg) const {
return m_register_info_up->IsPOEReg(reg);
}
-RegisterContextPOSIX_arm64::RegisterContextPOSIX_arm64(
+RegisterContextCore_arm64::RegisterContextCore_arm64(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_arm64> register_info)
: lldb_private::RegisterContext(thread, 0),
m_register_info_up(std::move(register_info)) {}
-RegisterContextPOSIX_arm64::~RegisterContextPOSIX_arm64() = default;
+RegisterContextCore_arm64::~RegisterContextCore_arm64() = default;
-void RegisterContextPOSIX_arm64::Invalidate() {}
+void RegisterContextCore_arm64::Invalidate() {}
-void RegisterContextPOSIX_arm64::InvalidateAllRegisters() {}
+void RegisterContextCore_arm64::InvalidateAllRegisters() {}
-unsigned RegisterContextPOSIX_arm64::GetRegisterOffset(unsigned reg) {
+unsigned RegisterContextCore_arm64::GetRegisterOffset(unsigned reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_offset;
}
-unsigned RegisterContextPOSIX_arm64::GetRegisterSize(unsigned reg) {
+unsigned RegisterContextCore_arm64::GetRegisterSize(unsigned reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_size;
}
-size_t RegisterContextPOSIX_arm64::GetRegisterCount() {
+size_t RegisterContextCore_arm64::GetRegisterCount() {
return m_register_info_up->GetRegisterCount();
}
-size_t RegisterContextPOSIX_arm64::GetGPRSize() {
+size_t RegisterContextCore_arm64::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_arm64::GetRegisterInfo() {
+RegisterContextCore_arm64::GetRegisterInfo() {
// Commonly, this method is overridden and g_register_infos is copied and
// specialized. So, use GetRegisterInfo() rather than g_register_infos in
// this scope.
@@ -108,23 +108,23 @@ RegisterContextPOSIX_arm64::GetRegisterInfo() {
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_arm64::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_arm64::GetRegisterInfoAtIndex(size_t reg) {
if (reg < GetRegisterCount())
return &GetRegisterInfo()[reg];
return nullptr;
}
-size_t RegisterContextPOSIX_arm64::GetRegisterSetCount() {
+size_t RegisterContextCore_arm64::GetRegisterSetCount() {
return m_register_info_up->GetRegisterSetCount();
}
const lldb_private::RegisterSet *
-RegisterContextPOSIX_arm64::GetRegisterSet(size_t set) {
+RegisterContextCore_arm64::GetRegisterSet(size_t set) {
return m_register_info_up->GetRegisterSet(set);
}
-const char *RegisterContextPOSIX_arm64::GetRegisterName(unsigned reg) {
+const char *RegisterContextCore_arm64::GetRegisterName(unsigned reg) {
if (reg < GetRegisterCount())
return GetRegisterInfo()[reg].name;
return nullptr;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm64.h
similarity index 84%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_arm64.h
index 08e20e3000b1d5..16b889eecfe749 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_arm64.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_arm64.h ----------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,21 +6,21 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_ARM64_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_ARM64_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_ARM64_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_ARM64_H
#include "Register/RegisterInfoInterface.h"
#include "Register/Common/RegisterInfo_arm64.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_arm64 : public lldb_private::RegisterContext {
+class RegisterContextCore_arm64 : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_arm64(
+ RegisterContextCore_arm64(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_arm64> register_info);
- ~RegisterContextPOSIX_arm64() override;
+ ~RegisterContextCore_arm64() override;
void Invalidate();
@@ -86,4 +86,4 @@ class RegisterContextPOSIX_arm64 : public lldb_private::RegisterContext {
virtual bool WriteFPR() = 0;
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_ARM64_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_ARM64_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_loongarch64.cpp
similarity index 61%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_loongarch64.cpp
index 80a30cea2d51c3..35846344006889 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_loongarch64.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_loongarch64.cpp --------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -16,77 +16,77 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_loongarch64.h"
+#include "RegisterContextCore_loongarch64.h"
using namespace lldb;
using namespace lldb_private;
-RegisterContextPOSIX_loongarch64::RegisterContextPOSIX_loongarch64(
+RegisterContextCore_loongarch64::RegisterContextCore_loongarch64(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_loongarch64> register_info)
: lldb_private::RegisterContext(thread, 0),
m_register_info_up(std::move(register_info)) {}
-RegisterContextPOSIX_loongarch64::~RegisterContextPOSIX_loongarch64() = default;
+RegisterContextCore_loongarch64::~RegisterContextCore_loongarch64() = default;
-void RegisterContextPOSIX_loongarch64::invalidate() {}
+void RegisterContextCore_loongarch64::invalidate() {}
-void RegisterContextPOSIX_loongarch64::InvalidateAllRegisters() {}
+void RegisterContextCore_loongarch64::InvalidateAllRegisters() {}
-size_t RegisterContextPOSIX_loongarch64::GetRegisterCount() {
+size_t RegisterContextCore_loongarch64::GetRegisterCount() {
return m_register_info_up->GetRegisterCount();
}
-size_t RegisterContextPOSIX_loongarch64::GetGPRSize() {
+size_t RegisterContextCore_loongarch64::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
-unsigned RegisterContextPOSIX_loongarch64::GetRegisterSize(unsigned int reg) {
+unsigned RegisterContextCore_loongarch64::GetRegisterSize(unsigned int reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_size;
}
-unsigned RegisterContextPOSIX_loongarch64::GetRegisterOffset(unsigned int reg) {
+unsigned RegisterContextCore_loongarch64::GetRegisterOffset(unsigned int reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_offset;
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_loongarch64::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_loongarch64::GetRegisterInfoAtIndex(size_t reg) {
if (reg < GetRegisterCount())
return &GetRegisterInfo()[reg];
return nullptr;
}
-size_t RegisterContextPOSIX_loongarch64::GetRegisterSetCount() {
+size_t RegisterContextCore_loongarch64::GetRegisterSetCount() {
return m_register_info_up->GetRegisterSetCount();
}
const lldb_private::RegisterSet *
-RegisterContextPOSIX_loongarch64::GetRegisterSet(size_t set) {
+RegisterContextCore_loongarch64::GetRegisterSet(size_t set) {
return m_register_info_up->GetRegisterSet(set);
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_loongarch64::GetRegisterInfo() {
+RegisterContextCore_loongarch64::GetRegisterInfo() {
return m_register_info_up->GetRegisterInfo();
}
-bool RegisterContextPOSIX_loongarch64::IsGPR(unsigned int reg) {
+bool RegisterContextCore_loongarch64::IsGPR(unsigned int reg) {
return m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_loongarch64::GPRegSet;
}
-bool RegisterContextPOSIX_loongarch64::IsFPR(unsigned int reg) {
+bool RegisterContextCore_loongarch64::IsFPR(unsigned int reg) {
return m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_loongarch64::FPRegSet;
}
-bool RegisterContextPOSIX_loongarch64::IsLSX(unsigned int reg) {
+bool RegisterContextCore_loongarch64::IsLSX(unsigned int reg) {
return m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_loongarch64::LSXRegSet;
}
-bool RegisterContextPOSIX_loongarch64::IsLASX(unsigned int reg) {
+bool RegisterContextCore_loongarch64::IsLASX(unsigned int reg) {
return m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_loongarch64::LASXRegSet;
}
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_loongarch64.h
similarity index 78%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_loongarch64.h
index 4c07b260c11822..18ad678cc6439d 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_loongarch64.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_loongarch64.h ----------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_LOONGARCH64_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_LOONGARCH64_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_LOONGARCH64_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_LOONGARCH64_H
#include "Register/RegisterInfoInterface.h"
#include "Register/Common/RegisterInfo_loongarch64.h"
@@ -15,13 +15,13 @@
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_loongarch64 : public lldb_private::RegisterContext {
+class RegisterContextCore_loongarch64 : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_loongarch64(
+ RegisterContextCore_loongarch64(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_loongarch64> register_info);
- ~RegisterContextPOSIX_loongarch64() override;
+ ~RegisterContextCore_loongarch64() override;
void invalidate();
@@ -68,4 +68,4 @@ class RegisterContextPOSIX_loongarch64 : public lldb_private::RegisterContext {
virtual bool WriteLASX() { return false; }
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_LOONGARCH64_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_LOONGARCH64_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_powerpc.cpp
similarity index 80%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_powerpc.cpp
index cffd2865e3850c..44f157be38fb74 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_powerpc.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_powerpc.cpp ----------------------------------===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -20,7 +20,7 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_powerpc.h"
+#include "RegisterContextCore_powerpc.h"
using namespace lldb_private;
using namespace lldb;
@@ -76,51 +76,51 @@ static const RegisterSet g_reg_sets_powerpc[k_num_register_sets] = {
static_assert(k_first_gpr_powerpc == 0,
"GPRs must index starting at 0, or fix IsGPR()");
-bool RegisterContextPOSIX_powerpc::IsGPR(unsigned reg) {
+bool RegisterContextCore_powerpc::IsGPR(unsigned reg) {
return (reg <= k_last_gpr_powerpc); // GPR's come first.
}
-bool RegisterContextPOSIX_powerpc::IsFPR(unsigned reg) {
+bool RegisterContextCore_powerpc::IsFPR(unsigned reg) {
return (reg >= k_first_fpr) && (reg <= k_last_fpr);
}
-bool RegisterContextPOSIX_powerpc::IsVMX(unsigned reg) {
+bool RegisterContextCore_powerpc::IsVMX(unsigned reg) {
return (reg >= k_first_vmx) && (reg <= k_last_vmx);
}
-RegisterContextPOSIX_powerpc::RegisterContextPOSIX_powerpc(
+RegisterContextCore_powerpc::RegisterContextCore_powerpc(
Thread &thread, uint32_t concrete_frame_idx,
RegisterInfoInterface *register_info)
: RegisterContext(thread, concrete_frame_idx) {
m_register_info_up.reset(register_info);
}
-RegisterContextPOSIX_powerpc::~RegisterContextPOSIX_powerpc() = default;
+RegisterContextCore_powerpc::~RegisterContextCore_powerpc() = default;
-void RegisterContextPOSIX_powerpc::Invalidate() {}
+void RegisterContextCore_powerpc::Invalidate() {}
-void RegisterContextPOSIX_powerpc::InvalidateAllRegisters() {}
+void RegisterContextCore_powerpc::InvalidateAllRegisters() {}
-unsigned RegisterContextPOSIX_powerpc::GetRegisterOffset(unsigned reg) {
+unsigned RegisterContextCore_powerpc::GetRegisterOffset(unsigned reg) {
assert(reg < k_num_registers_powerpc && "Invalid register number.");
return GetRegisterInfo()[reg].byte_offset;
}
-unsigned RegisterContextPOSIX_powerpc::GetRegisterSize(unsigned reg) {
+unsigned RegisterContextCore_powerpc::GetRegisterSize(unsigned reg) {
assert(reg < k_num_registers_powerpc && "Invalid register number.");
return GetRegisterInfo()[reg].byte_size;
}
-size_t RegisterContextPOSIX_powerpc::GetRegisterCount() {
+size_t RegisterContextCore_powerpc::GetRegisterCount() {
size_t num_registers = k_num_registers_powerpc;
return num_registers;
}
-size_t RegisterContextPOSIX_powerpc::GetGPRSize() {
+size_t RegisterContextCore_powerpc::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
-const RegisterInfo *RegisterContextPOSIX_powerpc::GetRegisterInfo() {
+const RegisterInfo *RegisterContextCore_powerpc::GetRegisterInfo() {
// Commonly, this method is overridden and g_register_infos is copied and
// specialized. So, use GetRegisterInfo() rather than g_register_infos in
// this scope.
@@ -128,14 +128,14 @@ const RegisterInfo *RegisterContextPOSIX_powerpc::GetRegisterInfo() {
}
const RegisterInfo *
-RegisterContextPOSIX_powerpc::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_powerpc::GetRegisterInfoAtIndex(size_t reg) {
if (reg < k_num_registers_powerpc)
return &GetRegisterInfo()[reg];
else
return nullptr;
}
-size_t RegisterContextPOSIX_powerpc::GetRegisterSetCount() {
+size_t RegisterContextCore_powerpc::GetRegisterSetCount() {
size_t sets = 0;
for (size_t set = 0; set < k_num_register_sets; ++set) {
if (IsRegisterSetAvailable(set))
@@ -145,19 +145,19 @@ size_t RegisterContextPOSIX_powerpc::GetRegisterSetCount() {
return sets;
}
-const RegisterSet *RegisterContextPOSIX_powerpc::GetRegisterSet(size_t set) {
+const RegisterSet *RegisterContextCore_powerpc::GetRegisterSet(size_t set) {
if (IsRegisterSetAvailable(set))
return &g_reg_sets_powerpc[set];
else
return nullptr;
}
-const char *RegisterContextPOSIX_powerpc::GetRegisterName(unsigned reg) {
+const char *RegisterContextCore_powerpc::GetRegisterName(unsigned reg) {
assert(reg < k_num_registers_powerpc && "Invalid register offset.");
return GetRegisterInfo()[reg].name;
}
-bool RegisterContextPOSIX_powerpc::IsRegisterSetAvailable(size_t set_index) {
+bool RegisterContextCore_powerpc::IsRegisterSetAvailable(size_t set_index) {
size_t num_sets = k_num_register_sets;
return (set_index < num_sets);
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_powerpc.h
similarity index 80%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_powerpc.h
index 7172c8c5dd466c..7298a584205568 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_powerpc.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_powerpc.h --------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,21 +6,21 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_POWERPC_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_POWERPC_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_POWERPC_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_POWERPC_H
-#include "Register/Arch/RegisterContext_powerpc.h"
#include "Register/RegisterInfoInterface.h"
+#include "Register/Arch/RegisterContext_powerpc.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_powerpc : public lldb_private::RegisterContext {
+class RegisterContextCore_powerpc : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_powerpc(
+ RegisterContextCore_powerpc(
lldb_private::Thread &thread, uint32_t concrete_frame_idx,
lldb_private::RegisterInfoInterface *register_info);
- ~RegisterContextPOSIX_powerpc() override;
+ ~RegisterContextCore_powerpc() override;
void Invalidate();
@@ -71,4 +71,4 @@ class RegisterContextPOSIX_powerpc : public lldb_private::RegisterContext {
virtual bool WriteVMX() = 0;
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_POWERPC_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_POWERPC_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_ppc64le.cpp
similarity index 84%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_ppc64le.cpp
index f70ddeba209c60..9ecdc6a318ad4c 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_ppc64le.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_ppc64le.cpp ----------------------------------===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -20,7 +20,7 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_ppc64le.h"
+#include "RegisterContextCore_ppc64le.h"
using namespace lldb_private;
using namespace lldb;
@@ -95,51 +95,51 @@ static const RegisterSet g_reg_sets_ppc64le[k_num_register_sets] = {
{"VSX Registers", "vsx", k_num_vsx_registers_ppc64le, g_vsx_regnums},
};
-bool RegisterContextPOSIX_ppc64le::IsGPR(unsigned reg) {
+bool RegisterContextCore_ppc64le::IsGPR(unsigned reg) {
return (reg <= k_last_gpr_ppc64le); // GPR's come first.
}
-bool RegisterContextPOSIX_ppc64le::IsFPR(unsigned reg) {
+bool RegisterContextCore_ppc64le::IsFPR(unsigned reg) {
return (reg >= k_first_fpr_ppc64le) && (reg <= k_last_fpr_ppc64le);
}
-bool RegisterContextPOSIX_ppc64le::IsVMX(unsigned reg) {
+bool RegisterContextCore_ppc64le::IsVMX(unsigned reg) {
return (reg >= k_first_vmx_ppc64le) && (reg <= k_last_vmx_ppc64le);
}
-bool RegisterContextPOSIX_ppc64le::IsVSX(unsigned reg) {
+bool RegisterContextCore_ppc64le::IsVSX(unsigned reg) {
return (reg >= k_first_vsx_ppc64le) && (reg <= k_last_vsx_ppc64le);
}
-RegisterContextPOSIX_ppc64le::RegisterContextPOSIX_ppc64le(
+RegisterContextCore_ppc64le::RegisterContextCore_ppc64le(
Thread &thread, uint32_t concrete_frame_idx,
RegisterInfoInterface *register_info)
: RegisterContext(thread, concrete_frame_idx) {
m_register_info_up.reset(register_info);
}
-void RegisterContextPOSIX_ppc64le::InvalidateAllRegisters() {}
+void RegisterContextCore_ppc64le::InvalidateAllRegisters() {}
-unsigned RegisterContextPOSIX_ppc64le::GetRegisterOffset(unsigned reg) {
+unsigned RegisterContextCore_ppc64le::GetRegisterOffset(unsigned reg) {
assert(reg < k_num_registers_ppc64le && "Invalid register number.");
return GetRegisterInfo()[reg].byte_offset;
}
-unsigned RegisterContextPOSIX_ppc64le::GetRegisterSize(unsigned reg) {
+unsigned RegisterContextCore_ppc64le::GetRegisterSize(unsigned reg) {
assert(reg < k_num_registers_ppc64le && "Invalid register number.");
return GetRegisterInfo()[reg].byte_size;
}
-size_t RegisterContextPOSIX_ppc64le::GetRegisterCount() {
+size_t RegisterContextCore_ppc64le::GetRegisterCount() {
size_t num_registers = k_num_registers_ppc64le;
return num_registers;
}
-size_t RegisterContextPOSIX_ppc64le::GetGPRSize() {
+size_t RegisterContextCore_ppc64le::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
-const RegisterInfo *RegisterContextPOSIX_ppc64le::GetRegisterInfo() {
+const RegisterInfo *RegisterContextCore_ppc64le::GetRegisterInfo() {
// Commonly, this method is overridden and g_register_infos is copied and
// specialized. So, use GetRegisterInfo() rather than g_register_infos in
// this scope.
@@ -147,14 +147,14 @@ const RegisterInfo *RegisterContextPOSIX_ppc64le::GetRegisterInfo() {
}
const RegisterInfo *
-RegisterContextPOSIX_ppc64le::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_ppc64le::GetRegisterInfoAtIndex(size_t reg) {
if (reg < k_num_registers_ppc64le)
return &GetRegisterInfo()[reg];
else
return nullptr;
}
-size_t RegisterContextPOSIX_ppc64le::GetRegisterSetCount() {
+size_t RegisterContextCore_ppc64le::GetRegisterSetCount() {
size_t sets = 0;
for (size_t set = 0; set < k_num_register_sets; ++set) {
if (IsRegisterSetAvailable(set))
@@ -164,19 +164,19 @@ size_t RegisterContextPOSIX_ppc64le::GetRegisterSetCount() {
return sets;
}
-const RegisterSet *RegisterContextPOSIX_ppc64le::GetRegisterSet(size_t set) {
+const RegisterSet *RegisterContextCore_ppc64le::GetRegisterSet(size_t set) {
if (IsRegisterSetAvailable(set))
return &g_reg_sets_ppc64le[set];
else
return nullptr;
}
-const char *RegisterContextPOSIX_ppc64le::GetRegisterName(unsigned reg) {
+const char *RegisterContextCore_ppc64le::GetRegisterName(unsigned reg) {
assert(reg < k_num_registers_ppc64le && "Invalid register offset.");
return GetRegisterInfo()[reg].name;
}
-bool RegisterContextPOSIX_ppc64le::IsRegisterSetAvailable(size_t set_index) {
+bool RegisterContextCore_ppc64le::IsRegisterSetAvailable(size_t set_index) {
size_t num_sets = k_num_register_sets;
return (set_index < num_sets);
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_ppc64le.h
similarity index 82%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_ppc64le.h
index 8553f829277c64..29206ce4a2653c 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_ppc64le.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_ppc64le.h --------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_PPC64LE_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_PPC64LE_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_PPC64LE_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_PPC64LE_H
#include "Register/Arch/lldb-ppc64le-register-enums.h"
#include "Register/RegisterInfoInterface.h"
@@ -15,9 +15,9 @@
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_ppc64le : public lldb_private::RegisterContext {
+class RegisterContextCore_ppc64le : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_ppc64le(
+ RegisterContextCore_ppc64le(
lldb_private::Thread &thread, uint32_t concrete_frame_idx,
lldb_private::RegisterInfoInterface *register_info);
@@ -70,4 +70,4 @@ class RegisterContextPOSIX_ppc64le : public lldb_private::RegisterContext {
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_PPC64LE_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_PPC64LE_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv32.cpp
similarity index 62%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_riscv32.cpp
index 68ee125432ab33..abb529c50ef273 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv32.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_riscv32.cpp ------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "RegisterContextPOSIX_riscv32.h"
+#include "RegisterContextCore_riscv32.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
@@ -20,62 +20,62 @@
using namespace lldb;
using namespace lldb_private;
-RegisterContextPOSIX_riscv32::RegisterContextPOSIX_riscv32(
+RegisterContextCore_riscv32::RegisterContextCore_riscv32(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_riscv32> register_info)
: lldb_private::RegisterContext(thread, 0),
m_register_info_up(std::move(register_info)) {}
-RegisterContextPOSIX_riscv32::~RegisterContextPOSIX_riscv32() = default;
+RegisterContextCore_riscv32::~RegisterContextCore_riscv32() = default;
-void RegisterContextPOSIX_riscv32::invalidate() {}
+void RegisterContextCore_riscv32::invalidate() {}
-void RegisterContextPOSIX_riscv32::InvalidateAllRegisters() {}
+void RegisterContextCore_riscv32::InvalidateAllRegisters() {}
-size_t RegisterContextPOSIX_riscv32::GetRegisterCount() {
+size_t RegisterContextCore_riscv32::GetRegisterCount() {
return m_register_info_up->GetRegisterCount();
}
-size_t RegisterContextPOSIX_riscv32::GetGPRSize() {
+size_t RegisterContextCore_riscv32::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
-unsigned RegisterContextPOSIX_riscv32::GetRegisterSize(unsigned int reg) {
+unsigned RegisterContextCore_riscv32::GetRegisterSize(unsigned int reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_size;
}
-unsigned RegisterContextPOSIX_riscv32::GetRegisterOffset(unsigned int reg) {
+unsigned RegisterContextCore_riscv32::GetRegisterOffset(unsigned int reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_offset;
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_riscv32::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_riscv32::GetRegisterInfoAtIndex(size_t reg) {
if (reg < GetRegisterCount())
return &GetRegisterInfo()[reg];
return nullptr;
}
-size_t RegisterContextPOSIX_riscv32::GetRegisterSetCount() {
+size_t RegisterContextCore_riscv32::GetRegisterSetCount() {
return m_register_info_up->GetRegisterCount();
}
const lldb_private::RegisterSet *
-RegisterContextPOSIX_riscv32::GetRegisterSet(size_t set) {
+RegisterContextCore_riscv32::GetRegisterSet(size_t set) {
return m_register_info_up->GetRegisterSet(set);
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_riscv32::GetRegisterInfo() {
+RegisterContextCore_riscv32::GetRegisterInfo() {
return m_register_info_up->GetRegisterInfo();
}
-bool RegisterContextPOSIX_riscv32::IsGPR(unsigned int reg) {
+bool RegisterContextCore_riscv32::IsGPR(unsigned int reg) {
return m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_riscv32::eRegsetMaskDefault;
}
-bool RegisterContextPOSIX_riscv32::IsFPR(unsigned int reg) {
+bool RegisterContextCore_riscv32::IsFPR(unsigned int reg) {
return m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_riscv32::eRegsetMaskFP;
}
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv32.h
similarity index 76%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_riscv32.h
index 4a73ba159b6714..fd258c2af6a2d8 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv32.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv32.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_riscv32.h --------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_RISCV32_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_RISCV32_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_RISCV32_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_RISCV32_H
#include "Register/RegisterInfoInterface.h"
#include "Register/Common/RegisterInfo_riscv32.h"
@@ -15,13 +15,13 @@
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_riscv32 : public lldb_private::RegisterContext {
+class RegisterContextCore_riscv32 : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_riscv32(
+ RegisterContextCore_riscv32(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_riscv32> register_info);
- ~RegisterContextPOSIX_riscv32() override;
+ ~RegisterContextCore_riscv32() override;
void invalidate();
@@ -60,4 +60,4 @@ class RegisterContextPOSIX_riscv32 : public lldb_private::RegisterContext {
virtual bool WriteFPR() = 0;
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_RISCV32_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_RISCV32_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv64.cpp
similarity index 61%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_riscv64.cpp
index dcd002e85592cd..2674aa2ed240a1 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv64.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_riscv64.cpp ------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -16,66 +16,66 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_riscv64.h"
+#include "RegisterContextCore_riscv64.h"
using namespace lldb;
using namespace lldb_private;
-RegisterContextPOSIX_riscv64::RegisterContextPOSIX_riscv64(
+RegisterContextCore_riscv64::RegisterContextCore_riscv64(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_riscv64> register_info)
: lldb_private::RegisterContext(thread, 0),
m_register_info_up(std::move(register_info)) {}
-RegisterContextPOSIX_riscv64::~RegisterContextPOSIX_riscv64() = default;
+RegisterContextCore_riscv64::~RegisterContextCore_riscv64() = default;
-void RegisterContextPOSIX_riscv64::invalidate() {}
+void RegisterContextCore_riscv64::invalidate() {}
-void RegisterContextPOSIX_riscv64::InvalidateAllRegisters() {}
+void RegisterContextCore_riscv64::InvalidateAllRegisters() {}
-size_t RegisterContextPOSIX_riscv64::GetRegisterCount() {
+size_t RegisterContextCore_riscv64::GetRegisterCount() {
return m_register_info_up->GetRegisterCount();
}
-size_t RegisterContextPOSIX_riscv64::GetGPRSize() {
+size_t RegisterContextCore_riscv64::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
-unsigned RegisterContextPOSIX_riscv64::GetRegisterSize(unsigned int reg) {
+unsigned RegisterContextCore_riscv64::GetRegisterSize(unsigned int reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_size;
}
-unsigned RegisterContextPOSIX_riscv64::GetRegisterOffset(unsigned int reg) {
+unsigned RegisterContextCore_riscv64::GetRegisterOffset(unsigned int reg) {
return m_register_info_up->GetRegisterInfo()[reg].byte_offset;
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_riscv64::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_riscv64::GetRegisterInfoAtIndex(size_t reg) {
if (reg < GetRegisterCount())
return &GetRegisterInfo()[reg];
return nullptr;
}
-size_t RegisterContextPOSIX_riscv64::GetRegisterSetCount() {
+size_t RegisterContextCore_riscv64::GetRegisterSetCount() {
return m_register_info_up->GetRegisterSetCount();
}
const lldb_private::RegisterSet *
-RegisterContextPOSIX_riscv64::GetRegisterSet(size_t set) {
+RegisterContextCore_riscv64::GetRegisterSet(size_t set) {
return m_register_info_up->GetRegisterSet(set);
}
const lldb_private::RegisterInfo *
-RegisterContextPOSIX_riscv64::GetRegisterInfo() {
+RegisterContextCore_riscv64::GetRegisterInfo() {
return m_register_info_up->GetRegisterInfo();
}
-bool RegisterContextPOSIX_riscv64::IsGPR(unsigned int reg) {
+bool RegisterContextCore_riscv64::IsGPR(unsigned int reg) {
return m_register_info_up->GetRegisterSetFromRegisterIndex(reg) ==
RegisterInfo_riscv64::GPRegSet;
}
-bool RegisterContextPOSIX_riscv64::IsFPR(unsigned int reg) {
+bool RegisterContextCore_riscv64::IsFPR(unsigned int reg) {
return m_register_info_up->IsFPReg(reg);
}
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv64.h
similarity index 76%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_riscv64.h
index 8f52dc8697ee4f..440b4e3d9cfbb5 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_riscv64.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_riscv64.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_riscv64.h --------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_RISCV64_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_RISCV64_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_RISCV64_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_RISCV64_H
#include "Register/RegisterInfoInterface.h"
#include "Register/Common/RegisterInfo_riscv64.h"
@@ -15,13 +15,13 @@
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_riscv64 : public lldb_private::RegisterContext {
+class RegisterContextCore_riscv64 : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_riscv64(
+ RegisterContextCore_riscv64(
lldb_private::Thread &thread,
std::unique_ptr<RegisterInfo_riscv64> register_info);
- ~RegisterContextPOSIX_riscv64() override;
+ ~RegisterContextCore_riscv64() override;
void invalidate();
@@ -60,4 +60,4 @@ class RegisterContextPOSIX_riscv64 : public lldb_private::RegisterContext {
virtual bool WriteFPR() = 0;
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_RISCV64_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_RISCV64_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_s390x.cpp
similarity index 82%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_s390x.cpp
index c3cbea2b5be647..8ca85f5862e407 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_s390x.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_s390x.cpp ------------------------------------===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -20,7 +20,7 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_s390x.h"
+#include "RegisterContextCore_s390x.h"
#include "Register/Arch/RegisterContext_s390x.h"
using namespace lldb_private;
@@ -69,15 +69,15 @@ static const RegisterSet g_reg_sets_s390x[k_num_register_sets] = {
g_fpu_regnums_s390x},
};
-bool RegisterContextPOSIX_s390x::IsGPR(unsigned reg) {
+bool RegisterContextCore_s390x::IsGPR(unsigned reg) {
return reg <= m_reg_info.last_gpr; // GPRs come first.
}
-bool RegisterContextPOSIX_s390x::IsFPR(unsigned reg) {
+bool RegisterContextCore_s390x::IsFPR(unsigned reg) {
return (m_reg_info.first_fpr <= reg && reg <= m_reg_info.last_fpr);
}
-RegisterContextPOSIX_s390x::RegisterContextPOSIX_s390x(
+RegisterContextCore_s390x::RegisterContextCore_s390x(
Thread &thread, uint32_t concrete_frame_idx,
RegisterInfoInterface *register_info)
: RegisterContext(thread, concrete_frame_idx) {
@@ -98,48 +98,48 @@ RegisterContextPOSIX_s390x::RegisterContextPOSIX_s390x(
}
}
-RegisterContextPOSIX_s390x::~RegisterContextPOSIX_s390x() = default;
+RegisterContextCore_s390x::~RegisterContextCore_s390x() = default;
-void RegisterContextPOSIX_s390x::Invalidate() {}
+void RegisterContextCore_s390x::Invalidate() {}
-void RegisterContextPOSIX_s390x::InvalidateAllRegisters() {}
+void RegisterContextCore_s390x::InvalidateAllRegisters() {}
-const RegisterInfo *RegisterContextPOSIX_s390x::GetRegisterInfo() {
+const RegisterInfo *RegisterContextCore_s390x::GetRegisterInfo() {
return m_register_info_up->GetRegisterInfo();
}
const RegisterInfo *
-RegisterContextPOSIX_s390x::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_s390x::GetRegisterInfoAtIndex(size_t reg) {
if (reg < m_reg_info.num_registers)
return &GetRegisterInfo()[reg];
else
return nullptr;
}
-size_t RegisterContextPOSIX_s390x::GetRegisterCount() {
+size_t RegisterContextCore_s390x::GetRegisterCount() {
return m_reg_info.num_registers;
}
-unsigned RegisterContextPOSIX_s390x::GetRegisterOffset(unsigned reg) {
+unsigned RegisterContextCore_s390x::GetRegisterOffset(unsigned reg) {
assert(reg < m_reg_info.num_registers && "Invalid register number.");
return GetRegisterInfo()[reg].byte_offset;
}
-unsigned RegisterContextPOSIX_s390x::GetRegisterSize(unsigned reg) {
+unsigned RegisterContextCore_s390x::GetRegisterSize(unsigned reg) {
assert(reg < m_reg_info.num_registers && "Invalid register number.");
return GetRegisterInfo()[reg].byte_size;
}
-const char *RegisterContextPOSIX_s390x::GetRegisterName(unsigned reg) {
+const char *RegisterContextCore_s390x::GetRegisterName(unsigned reg) {
assert(reg < m_reg_info.num_registers && "Invalid register offset.");
return GetRegisterInfo()[reg].name;
}
-bool RegisterContextPOSIX_s390x::IsRegisterSetAvailable(size_t set_index) {
+bool RegisterContextCore_s390x::IsRegisterSetAvailable(size_t set_index) {
return set_index < k_num_register_sets;
}
-size_t RegisterContextPOSIX_s390x::GetRegisterSetCount() {
+size_t RegisterContextCore_s390x::GetRegisterSetCount() {
size_t sets = 0;
for (size_t set = 0; set < k_num_register_sets; ++set) {
if (IsRegisterSetAvailable(set))
@@ -149,7 +149,7 @@ size_t RegisterContextPOSIX_s390x::GetRegisterSetCount() {
return sets;
}
-const RegisterSet *RegisterContextPOSIX_s390x::GetRegisterSet(size_t set) {
+const RegisterSet *RegisterContextCore_s390x::GetRegisterSet(size_t set) {
if (IsRegisterSetAvailable(set)) {
switch (m_register_info_up->GetTargetArchitecture().GetMachine()) {
case llvm::Triple::systemz:
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_s390x.h
similarity index 79%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_s390x.h
index 8c23f235746465..6bab090f698ae7 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_s390x.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_s390x.h ----------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_S390X_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_S390X_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_S390X_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_S390X_H
#include "Register/Arch/RegisterContext_s390x.h"
#include "Register/RegisterInfoInterface.h"
@@ -15,13 +15,13 @@
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_s390x : public lldb_private::RegisterContext {
+class RegisterContextCore_s390x : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_s390x(
+ RegisterContextCore_s390x(
lldb_private::Thread &thread, uint32_t concrete_frame_idx,
lldb_private::RegisterInfoInterface *register_info);
- ~RegisterContextPOSIX_s390x() override;
+ ~RegisterContextCore_s390x() override;
void Invalidate();
@@ -69,4 +69,4 @@ class RegisterContextPOSIX_s390x : public lldb_private::RegisterContext {
virtual bool WriteFPR() = 0;
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_S390X_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_S390X_H
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp b/lldb/source/Plugins/Register/Core/RegisterContextCore_x86.cpp
similarity index 89%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_x86.cpp
index 96abe5cc0eb72a..2b8033adb63961 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_x86.cpp
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_x86.cpp --------------------------------------===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -20,7 +20,7 @@
#include "lldb/Utility/Scalar.h"
#include "llvm/Support/Compiler.h"
-#include "RegisterContextPOSIX_x86.h"
+#include "RegisterContextCore_x86.h"
#include "Register/Arch/RegisterContext_x86.h"
using namespace lldb_private;
@@ -175,19 +175,19 @@ static const RegisterSet g_reg_sets_x86_64[k_num_register_sets] = {
{"Advanced Vector Extensions", "avx", k_num_avx_registers_x86_64,
g_avx_regnums_x86_64}};
-bool RegisterContextPOSIX_x86::IsGPR(unsigned reg) {
+bool RegisterContextCore_x86::IsGPR(unsigned reg) {
return reg <= GetRegInfo().last_gpr; // GPR's come first.
}
-bool RegisterContextPOSIX_x86::IsFPR(unsigned reg) {
+bool RegisterContextCore_x86::IsFPR(unsigned reg) {
return (GetRegInfo().first_fpr <= reg && reg <= GetRegInfo().last_fpr);
}
-bool RegisterContextPOSIX_x86::IsAVX(unsigned reg) {
+bool RegisterContextCore_x86::IsAVX(unsigned reg) {
return (GetRegInfo().first_ymm <= reg && reg <= GetRegInfo().last_ymm);
}
-bool RegisterContextPOSIX_x86::IsFPR(unsigned reg, FPRType fpr_type) {
+bool RegisterContextCore_x86::IsFPR(unsigned reg, FPRType fpr_type) {
bool generic_fpr = IsFPR(reg);
if (fpr_type == eXSAVE)
@@ -195,7 +195,7 @@ bool RegisterContextPOSIX_x86::IsFPR(unsigned reg, FPRType fpr_type) {
return generic_fpr;
}
-RegisterContextPOSIX_x86::RegisterContextPOSIX_x86(
+RegisterContextCore_x86::RegisterContextCore_x86(
Thread &thread, uint32_t concrete_frame_idx,
RegisterInfoInterface *register_info)
: RegisterContext(thread, concrete_frame_idx) {
@@ -207,9 +207,9 @@ RegisterContextPOSIX_x86::RegisterContextPOSIX_x86(
m_fpr_type = eNotValid;
}
-RegisterContextPOSIX_x86::~RegisterContextPOSIX_x86() = default;
+RegisterContextCore_x86::~RegisterContextCore_x86() = default;
-RegisterContextPOSIX_x86::FPRType RegisterContextPOSIX_x86::GetFPRType() {
+RegisterContextCore_x86::FPRType RegisterContextCore_x86::GetFPRType() {
if (m_fpr_type == eNotValid) {
// TODO: Use assembly to call cpuid on the inferior and query ebx or ecx
m_fpr_type = eXSAVE; // extended floating-point registers, if available
@@ -219,27 +219,27 @@ RegisterContextPOSIX_x86::FPRType RegisterContextPOSIX_x86::GetFPRType() {
return m_fpr_type;
}
-void RegisterContextPOSIX_x86::Invalidate() {}
+void RegisterContextCore_x86::Invalidate() {}
-void RegisterContextPOSIX_x86::InvalidateAllRegisters() {}
+void RegisterContextCore_x86::InvalidateAllRegisters() {}
-unsigned RegisterContextPOSIX_x86::GetRegisterOffset(unsigned reg) {
+unsigned RegisterContextCore_x86::GetRegisterOffset(unsigned reg) {
assert(reg < GetRegInfo().num_registers && "Invalid register number.");
return GetRegisterInfo()[reg].byte_offset;
}
-RegInfo &RegisterContextPOSIX_x86::GetRegInfo() {
+RegInfo &RegisterContextCore_x86::GetRegInfo() {
return GetRegInfoShared(
m_register_info_up->GetTargetArchitecture().GetMachine(),
/*with_base=*/false);
}
-unsigned RegisterContextPOSIX_x86::GetRegisterSize(unsigned reg) {
+unsigned RegisterContextCore_x86::GetRegisterSize(unsigned reg) {
assert(reg < GetRegInfo().num_registers && "Invalid register number.");
return GetRegisterInfo()[reg].byte_size;
}
-size_t RegisterContextPOSIX_x86::GetRegisterCount() {
+size_t RegisterContextCore_x86::GetRegisterCount() {
size_t num_registers =
GetRegInfo().num_gpr_registers + GetRegInfo().num_fpr_registers;
if (GetFPRType() == eXSAVE)
@@ -247,15 +247,15 @@ size_t RegisterContextPOSIX_x86::GetRegisterCount() {
return num_registers;
}
-size_t RegisterContextPOSIX_x86::GetGPRSize() {
+size_t RegisterContextCore_x86::GetGPRSize() {
return m_register_info_up->GetGPRSize();
}
-size_t RegisterContextPOSIX_x86::GetFXSAVEOffset() {
+size_t RegisterContextCore_x86::GetFXSAVEOffset() {
return GetRegisterInfo()[GetRegInfo().first_fpr].byte_offset;
}
-const RegisterInfo *RegisterContextPOSIX_x86::GetRegisterInfo() {
+const RegisterInfo *RegisterContextCore_x86::GetRegisterInfo() {
// Commonly, this method is overridden and g_register_infos is copied and
// specialized. So, use GetRegisterInfo() rather than g_register_infos in
// this scope.
@@ -263,14 +263,14 @@ const RegisterInfo *RegisterContextPOSIX_x86::GetRegisterInfo() {
}
const RegisterInfo *
-RegisterContextPOSIX_x86::GetRegisterInfoAtIndex(size_t reg) {
+RegisterContextCore_x86::GetRegisterInfoAtIndex(size_t reg) {
if (reg < GetRegInfo().num_registers)
return &GetRegisterInfo()[reg];
else
return nullptr;
}
-size_t RegisterContextPOSIX_x86::GetRegisterSetCount() {
+size_t RegisterContextCore_x86::GetRegisterSetCount() {
size_t sets = 0;
for (size_t set = 0; set < k_num_register_sets; ++set) {
if (IsRegisterSetAvailable(set))
@@ -280,7 +280,7 @@ size_t RegisterContextPOSIX_x86::GetRegisterSetCount() {
return sets;
}
-const RegisterSet *RegisterContextPOSIX_x86::GetRegisterSet(size_t set) {
+const RegisterSet *RegisterContextCore_x86::GetRegisterSet(size_t set) {
if (IsRegisterSetAvailable(set)) {
switch (m_register_info_up->GetTargetArchitecture().GetMachine()) {
case llvm::Triple::x86:
@@ -295,13 +295,13 @@ const RegisterSet *RegisterContextPOSIX_x86::GetRegisterSet(size_t set) {
return nullptr;
}
-const char *RegisterContextPOSIX_x86::GetRegisterName(unsigned reg) {
+const char *RegisterContextCore_x86::GetRegisterName(unsigned reg) {
assert(reg < GetRegInfo().num_registers && "Invalid register offset.");
return GetRegisterInfo()[reg].name;
}
// Parse ymm registers and into xmm.bytes and ymmh.bytes.
-bool RegisterContextPOSIX_x86::CopyYMMtoXSTATE(uint32_t reg,
+bool RegisterContextCore_x86::CopyYMMtoXSTATE(uint32_t reg,
lldb::ByteOrder byte_order) {
if (!IsAVX(reg))
return false;
@@ -317,7 +317,7 @@ bool RegisterContextPOSIX_x86::CopyYMMtoXSTATE(uint32_t reg,
}
// Concatenate xmm.bytes with ymmh.bytes
-bool RegisterContextPOSIX_x86::CopyXSTATEtoYMM(uint32_t reg,
+bool RegisterContextCore_x86::CopyXSTATEtoYMM(uint32_t reg,
lldb::ByteOrder byte_order) {
if (!IsAVX(reg))
return false;
@@ -332,7 +332,7 @@ bool RegisterContextPOSIX_x86::CopyXSTATEtoYMM(uint32_t reg,
return false; // unsupported or invalid byte order
}
-bool RegisterContextPOSIX_x86::IsRegisterSetAvailable(size_t set_index) {
+bool RegisterContextCore_x86::IsRegisterSetAvailable(size_t set_index) {
// Note: Extended register sets are assumed to be at the end of g_reg_sets...
size_t num_sets = k_num_register_sets - k_num_extended_register_sets;
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h b/lldb/source/Plugins/Register/Core/RegisterContextCore_x86.h
similarity index 84%
rename from lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h
rename to lldb/source/Plugins/Register/Core/RegisterContextCore_x86.h
index 68f1cf1c8e702b..3fa7cf42f92d36 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h
+++ b/lldb/source/Plugins/Register/Core/RegisterContextCore_x86.h
@@ -1,4 +1,4 @@
-//===-- RegisterContextPOSIX_x86.h ------------------------------*- C++ -*-===//
+//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_X86_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_X86_H
+#ifndef LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_X86_H
+#define LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_X86_H
#include "Register/Arch/RegisterContext_x86.h"
#include "Register/RegisterInfoInterface.h"
@@ -16,13 +16,13 @@
#include "lldb/Target/RegisterContext.h"
#include "lldb/Utility/Log.h"
-class RegisterContextPOSIX_x86 : public lldb_private::RegisterContext {
+class RegisterContextCore_x86 : public lldb_private::RegisterContext {
public:
- RegisterContextPOSIX_x86(lldb_private::Thread &thread,
+ RegisterContextCore_x86(lldb_private::Thread &thread,
uint32_t concrete_frame_idx,
lldb_private::RegisterInfoInterface *register_info);
- ~RegisterContextPOSIX_x86() override;
+ ~RegisterContextCore_x86() override;
void Invalidate();
@@ -88,4 +88,4 @@ class RegisterContextPOSIX_x86 : public lldb_private::RegisterContext {
virtual lldb_private::RegInfo &GetRegInfo();
};
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_X86_H
+#endif // LLDB_SOURCE_PLUGINS_REGISTER_CORE_REGISTERCONTEXTCORE_X86_H
diff --git a/lldb/unittests/Process/Utility/RegisterInfoFreeBSDTest.cpp b/lldb/unittests/Process/Utility/RegisterInfoFreeBSDTest.cpp
index 98433da8948d75..2353628f767bfc 100644
--- a/lldb/unittests/Process/Utility/RegisterInfoFreeBSDTest.cpp
+++ b/lldb/unittests/Process/Utility/RegisterInfoFreeBSDTest.cpp
@@ -20,7 +20,7 @@
#include "Register/FreeBSD/RegisterInfoFreeBSD_i386.h"
#include "Register/FreeBSD/RegisterInfoFreeBSD_powerpc.h"
#include "Register/FreeBSD/RegisterInfoFreeBSD_x86_64.h"
-#include "Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h"
+#include "Register/Arch/RegisterContext_powerpc.h"
#include "Register/Common/RegisterInfo_arm.h"
#include "Register/Common/RegisterInfo_arm64.h"
#include "Register/Arch/lldb-arm-register-enums.h"
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 175599f39f62ec..a2ffee0f15f19b 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
@@ -41,15 +41,6 @@ static_library("Utility") {
"RegisterContextMach_arm.cpp",
"RegisterContextMach_x86_64.cpp",
"RegisterContextMemory.cpp",
- "RegisterContextPOSIX_arm.cpp",
- "RegisterContextPOSIX_arm64.cpp",
- "RegisterContextPOSIX_loongarch64.cpp",
- "RegisterContextPOSIX_powerpc.cpp",
- "RegisterContextPOSIX_ppc64le.cpp",
- "RegisterContextPOSIX_riscv32.cpp",
- "RegisterContextPOSIX_riscv64.cpp",
- "RegisterContextPOSIX_s390x.cpp",
- "RegisterContextPOSIX_x86.cpp",
"RegisterContextThreadMemory.cpp",
"StopInfoMachException.cpp",
"ThreadMemory.cpp",
diff --git a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
index c102b6abce9658..050f5418e55fbc 100644
--- a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
+++ b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
@@ -6,6 +6,7 @@ static_library("elf-core") {
"//lldb/source/Plugins/DynamicLoader/POSIX-DYLD",
"//lldb/source/Plugins/ObjectFile/ELF",
"//lldb/source/Plugins/Process/Utility",
+ "//lldb/source/Plugins/Register/Core",
"//lldb/source/Target",
"//llvm/lib/BinaryFormat",
"//llvm/lib/Support",
diff --git a/llvm/utils/gn/secondary/lldb/source/Plugins/Register/Core/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Plugins/Register/Core/BUILD.gn
new file mode 100644
index 00000000000000..8e5f979e24c824
--- /dev/null
+++ b/llvm/utils/gn/secondary/lldb/source/Plugins/Register/Core/BUILD.gn
@@ -0,0 +1,23 @@
+static_library("Core") {
+ output_name = "lldbPluginRegisterCore"
+ configs += [ "//llvm/utils/gn/build:lldb_code" ]
+ deps = [
+ "//lldb/source/Register",
+ "//lldb/source/Target",
+ "//lldb/source/Utility",
+ "//llvm/lib/Support",
+ ]
+
+ include_dirs = [ "//lldb/source" ]
+ sources = [
+ "RegisterContextCore_arm.cpp",
+ "RegisterContextCore_arm64.cpp",
+ "RegisterContextCore_loongarch64.cpp",
+ "RegisterContextCore_powerpc.cpp",
+ "RegisterContextCore_ppc64le.cpp",
+ "RegisterContextCore_riscv32.cpp",
+ "RegisterContextCore_riscv64.cpp",
+ "RegisterContextCore_s390x.cpp",
+ "RegisterContextCore_x86.cpp",
+ ]
+}
More information about the lldb-commits
mailing list