[Lldb-commits] [lldb] [lldb][Process] Remove mips64 POSIX support (PR #179987)
via lldb-commits
lldb-commits at lists.llvm.org
Thu Feb 5 09:06:11 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Minsoo Choo (mchoo7)
<details>
<summary>Changes</summary>
Since ce03a862372a6f36d2fcf80dc80052aa155fcae8 and 427bb1cc1b09ea68b8a13a667810681ba4074f6b, mips64 support for POSIX is orphaned. Remove any POSIX_mips64 code and other code we missed in those commits.
---
Patch is 24.33 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/179987.diff
12 Files Affected:
- (modified) lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp (+1-1)
- (modified) lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp (+1-21)
- (modified) lldb/source/Plugins/Process/Utility/CMakeLists.txt (-1)
- (modified) lldb/source/Plugins/Process/Utility/LinuxSignals.cpp (+2-6)
- (removed) lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp (-133)
- (removed) lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h (-78)
- (removed) lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h (-103)
- (modified) lldb/source/Plugins/Process/elf-core/CMakeLists.txt (-1)
- (modified) lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp (-1)
- (removed) lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp (-91)
- (removed) lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h (-55)
- (modified) lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp (-41)
``````````diff
diff --git a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
index d7584be2b95ee..ad9c035d058a9 100644
--- a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
+++ b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
@@ -123,7 +123,7 @@ PlatformFreeBSD::PlatformFreeBSD(bool is_host)
} else {
m_supported_architectures = CreateArchList(
{llvm::Triple::x86_64, llvm::Triple::x86, llvm::Triple::aarch64,
- llvm::Triple::arm, llvm::Triple::mips64, llvm::Triple::ppc64,
+ llvm::Triple::arm, llvm::Triple::ppc64,
llvm::Triple::ppc},
llvm::Triple::FreeBSD);
}
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
index a7352e625a07c..4144beae21937 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -770,26 +770,6 @@ void NativeProcessLinux::MonitorSIGTRAP(const siginfo_t &info,
}
case SI_KERNEL:
-#if defined __mips__
- // For mips there is no special signal for watchpoint So we check for
- // watchpoint in kernel trap
- {
- // If a watchpoint was hit, report it
- uint32_t wp_index;
- Status error = thread.GetRegisterContext().GetWatchpointHitIndex(
- wp_index, LLDB_INVALID_ADDRESS);
- if (error.Fail())
- LLDB_LOG(log,
- "received error while checking for watchpoint hits, pid = "
- "{0}, error = {1}",
- thread.GetID(), error);
- if (wp_index != LLDB_INVALID_INDEX32) {
- MonitorWatchpoint(thread, wp_index);
- break;
- }
- }
-// NO BREAK
-#endif
case TRAP_BRKPT:
MonitorBreakpoint(thread);
break;
@@ -1000,7 +980,7 @@ bool NativeProcessLinux::MonitorClone(NativeThreadLinux &parent,
}
bool NativeProcessLinux::SupportHardwareSingleStepping() const {
- if (m_arch.IsMIPS() || m_arch.GetMachine() == llvm::Triple::arm ||
+ if (m_arch.GetMachine() == llvm::Triple::arm ||
m_arch.GetTriple().isRISCV() || m_arch.GetTriple().isLoongArch())
return false;
return true;
diff --git a/lldb/source/Plugins/Process/Utility/CMakeLists.txt b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
index e69193a47bbd4..9148465607b7d 100644
--- a/lldb/source/Plugins/Process/Utility/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/Utility/CMakeLists.txt
@@ -43,7 +43,6 @@ add_lldb_library(lldbPluginProcessUtility
RegisterContextPOSIX_arm.cpp
RegisterContextPOSIX_arm64.cpp
RegisterContextPOSIX_loongarch64.cpp
- RegisterContextPOSIX_mips64.cpp
RegisterContextPOSIX_riscv32.cpp
RegisterContextPOSIX_powerpc.cpp
RegisterContextPOSIX_ppc64le.cpp
diff --git a/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp b/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
index dbbfc6a352e02..dcf4eb8b9414b 100644
--- a/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
+++ b/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
@@ -8,11 +8,7 @@
#include "LinuxSignals.h"
-// mips-linux debugging is not supported and mips uses different numbers for
-// some signals (e.g. SIGBUS) on linux, so we skip the static checks below. The
-// definitions here can be used for debugging non-mips targets on a mips-hosted
-// lldb.
-#if defined(__linux__) && !defined(__mips__)
+#if defined(__linux__)
#include <csignal>
#ifndef SEGV_BNDERR
@@ -61,7 +57,7 @@
#else
#define ADD_SIGCODE(signal_name, signal_value, code_name, code_value, ...) \
AddSignalCode(signal_value, code_value, __VA_ARGS__)
-#endif /* if defined(__linux__) && !defined(__mips__) */
+#endif /* if defined(__linux__) */
// See siginfo.h in the Linux Kernel, these codes can be sent for any signal.
#define ADD_LINUX_SIGNAL(signo, name, ...) \
AddSignal(signo, name, __VA_ARGS__); \
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp
deleted file mode 100644
index 0b8bc93bbb788..0000000000000
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-//===-- RegisterContextPOSIX_mips64.cpp -----------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include <cerrno>
-#include <cstdint>
-#include <cstring>
-
-#include "lldb/Target/Process.h"
-#include "lldb/Target/Target.h"
-#include "lldb/Target/Thread.h"
-#include "lldb/Utility/DataBufferHeap.h"
-#include "lldb/Utility/DataExtractor.h"
-#include "lldb/Utility/Endian.h"
-#include "lldb/Utility/RegisterValue.h"
-#include "lldb/Utility/Scalar.h"
-#include "llvm/Support/Compiler.h"
-
-#include "RegisterContextPOSIX_mips64.h"
-
-using namespace lldb_private;
-using namespace lldb;
-
-bool RegisterContextPOSIX_mips64::IsGPR(unsigned reg) {
- return reg < m_registers_count[gpr_registers_count]; // GPR's come first.
-}
-
-bool RegisterContextPOSIX_mips64::IsFPR(unsigned reg) {
- int set = GetRegisterSetCount();
- if (set > 1)
- return reg < (m_registers_count[fpr_registers_count]
- + m_registers_count[gpr_registers_count]);
- return false;
-}
-
-RegisterContextPOSIX_mips64::RegisterContextPOSIX_mips64(
- Thread &thread, uint32_t concrete_frame_idx,
- RegisterInfoInterface *register_info)
- : RegisterContext(thread, concrete_frame_idx) {
- m_register_info_up.reset(register_info);
- m_num_registers = GetRegisterCount();
- int set = GetRegisterSetCount();
-
- const RegisterSet *reg_set_ptr;
- for(int i = 0; i < set; ++i) {
- reg_set_ptr = GetRegisterSet(i);
- m_registers_count[i] = reg_set_ptr->num_registers;
- }
-
- assert(m_num_registers ==
- static_cast<uint32_t>(m_registers_count[gpr_registers_count] +
- m_registers_count[fpr_registers_count] +
- m_registers_count[msa_registers_count]));
-}
-
-RegisterContextPOSIX_mips64::~RegisterContextPOSIX_mips64() = default;
-
-void RegisterContextPOSIX_mips64::Invalidate() {}
-
-void RegisterContextPOSIX_mips64::InvalidateAllRegisters() {}
-
-unsigned RegisterContextPOSIX_mips64::GetRegisterOffset(unsigned reg) {
- assert(reg < m_num_registers && "Invalid register number.");
- return GetRegisterInfo()[reg].byte_offset;
-}
-
-unsigned RegisterContextPOSIX_mips64::GetRegisterSize(unsigned reg) {
- assert(reg < m_num_registers && "Invalid register number.");
- return GetRegisterInfo()[reg].byte_size;
-}
-
-size_t RegisterContextPOSIX_mips64::GetRegisterCount() {
- return m_register_info_up->GetRegisterCount();
-}
-
-size_t RegisterContextPOSIX_mips64::GetGPRSize() {
- return m_register_info_up->GetGPRSize();
-}
-
-const RegisterInfo *RegisterContextPOSIX_mips64::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.
- return m_register_info_up->GetRegisterInfo();
-}
-
-const RegisterInfo *
-RegisterContextPOSIX_mips64::GetRegisterInfoAtIndex(size_t reg) {
- if (reg < m_num_registers)
- return &GetRegisterInfo()[reg];
- else
- return nullptr;
-}
-
-size_t RegisterContextPOSIX_mips64::GetRegisterSetCount() {
- return register_set_count;
-}
-
-const RegisterSet *RegisterContextPOSIX_mips64::GetRegisterSet(size_t set) {
- return nullptr;
-}
-
-const char *RegisterContextPOSIX_mips64::GetRegisterName(unsigned reg) {
- assert(reg < m_num_registers && "Invalid register offset.");
- return GetRegisterInfo()[reg].name;
-}
-
-bool RegisterContextPOSIX_mips64::IsRegisterSetAvailable(size_t set_index) {
- size_t num_sets = GetRegisterSetCount();
-
- return (set_index < num_sets);
-}
-
-// Used when parsing DWARF and EH frame information and any other object file
-// sections that contain register numbers in them.
-uint32_t RegisterContextPOSIX_mips64::ConvertRegisterKindToRegisterNumber(
- lldb::RegisterKind kind, uint32_t num) {
- const uint32_t num_regs = m_num_registers;
-
- assert(kind < kNumRegisterKinds);
- for (uint32_t reg_idx = 0; reg_idx < num_regs; ++reg_idx) {
- const RegisterInfo *reg_info = GetRegisterInfoAtIndex(reg_idx);
-
- if (reg_info->kinds[kind] == num)
- return reg_idx;
- }
-
- return LLDB_INVALID_REGNUM;
-}
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h b/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h
deleted file mode 100644
index bfb68927233d1..0000000000000
--- a/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h
+++ /dev/null
@@ -1,78 +0,0 @@
-//===-- RegisterContextPOSIX_mips64.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.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_MIPS64_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_MIPS64_H
-
-#include "RegisterContext_mips.h"
-#include "RegisterInfoInterface.h"
-#include "lldb/Target/RegisterContext.h"
-#include "lldb/Utility/Log.h"
-
-class RegisterContextPOSIX_mips64 : public lldb_private::RegisterContext {
-public:
-
- enum Register_count{
- gpr_registers_count = 0,
- fpr_registers_count,
- msa_registers_count,
- register_set_count
- };
-
- RegisterContextPOSIX_mips64(
- lldb_private::Thread &thread, uint32_t concrete_frame_idx,
- lldb_private::RegisterInfoInterface *register_info);
-
- ~RegisterContextPOSIX_mips64() override;
-
- void Invalidate();
-
- void InvalidateAllRegisters() override;
-
- size_t GetRegisterCount() override;
-
- virtual size_t GetGPRSize();
-
- virtual unsigned GetRegisterSize(unsigned reg);
-
- virtual unsigned GetRegisterOffset(unsigned reg);
-
- const lldb_private::RegisterInfo *GetRegisterInfoAtIndex(size_t reg) override;
-
- size_t GetRegisterSetCount() override;
-
- const lldb_private::RegisterSet *GetRegisterSet(size_t set) override;
-
- const char *GetRegisterName(unsigned reg);
-
- uint32_t ConvertRegisterKindToRegisterNumber(lldb::RegisterKind kind,
- uint32_t num) override;
-
-protected:
- uint32_t m_num_registers;
- uint8_t m_registers_count[register_set_count];
- std::unique_ptr<lldb_private::RegisterInfoInterface>
- m_register_info_up; // Register Info Interface (Linux)
-
- // Determines if an extended register set is supported on the processor
- // running the inferior process.
- virtual bool IsRegisterSetAvailable(size_t set_index);
-
- virtual const lldb_private::RegisterInfo *GetRegisterInfo();
-
- bool IsGPR(unsigned reg);
-
- bool IsFPR(unsigned reg);
-
- virtual bool ReadGPR() = 0;
- virtual bool ReadFPR() = 0;
- virtual bool WriteGPR() = 0;
- virtual bool WriteFPR() = 0;
-};
-
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTPOSIX_MIPS64_H
diff --git a/lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h b/lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h
deleted file mode 100644
index 000f6e3847e77..0000000000000
--- a/lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h
+++ /dev/null
@@ -1,103 +0,0 @@
-//===-- lldb-mips-freebsd-register-enums.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.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_MIPS_FREEBSD_REGISTER_ENUMS_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_MIPS_FREEBSD_REGISTER_ENUMS_H
-
-namespace lldb_private {
-// LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
-
-// Internal codes for all mips registers.
-enum {
- k_first_gpr_mips64,
- gpr_zero_mips64 = k_first_gpr_mips64,
- gpr_r1_mips64,
- gpr_r2_mips64,
- gpr_r3_mips64,
- gpr_r4_mips64,
- gpr_r5_mips64,
- gpr_r6_mips64,
- gpr_r7_mips64,
- gpr_r8_mips64,
- gpr_r9_mips64,
- gpr_r10_mips64,
- gpr_r11_mips64,
- gpr_r12_mips64,
- gpr_r13_mips64,
- gpr_r14_mips64,
- gpr_r15_mips64,
- gpr_r16_mips64,
- gpr_r17_mips64,
- gpr_r18_mips64,
- gpr_r19_mips64,
- gpr_r20_mips64,
- gpr_r21_mips64,
- gpr_r22_mips64,
- gpr_r23_mips64,
- gpr_r24_mips64,
- gpr_r25_mips64,
- gpr_r26_mips64,
- gpr_r27_mips64,
- gpr_gp_mips64,
- gpr_sp_mips64,
- gpr_r30_mips64,
- gpr_ra_mips64,
- gpr_sr_mips64,
- gpr_mullo_mips64,
- gpr_mulhi_mips64,
- gpr_badvaddr_mips64,
- gpr_cause_mips64,
- gpr_pc_mips64,
- gpr_ic_mips64,
- gpr_dummy_mips64,
- k_last_gpr_mips64 = gpr_dummy_mips64,
-
- k_first_fpr_mips64,
- fpr_f0_mips64 = k_first_fpr_mips64,
- fpr_f1_mips64,
- fpr_f2_mips64,
- fpr_f3_mips64,
- fpr_f4_mips64,
- fpr_f5_mips64,
- fpr_f6_mips64,
- fpr_f7_mips64,
- fpr_f8_mips64,
- fpr_f9_mips64,
- fpr_f10_mips64,
- fpr_f11_mips64,
- fpr_f12_mips64,
- fpr_f13_mips64,
- fpr_f14_mips64,
- fpr_f15_mips64,
- fpr_f16_mips64,
- fpr_f17_mips64,
- fpr_f18_mips64,
- fpr_f19_mips64,
- fpr_f20_mips64,
- fpr_f21_mips64,
- fpr_f22_mips64,
- fpr_f23_mips64,
- fpr_f24_mips64,
- fpr_f25_mips64,
- fpr_f26_mips64,
- fpr_f27_mips64,
- fpr_f28_mips64,
- fpr_f29_mips64,
- fpr_f30_mips64,
- fpr_f31_mips64,
- fpr_fcsr_mips64,
- fpr_fir_mips64,
- k_last_fpr_mips64 = fpr_fir_mips64,
-
- k_num_registers_mips64,
-
- k_num_gpr_registers_mips64 = k_last_gpr_mips64 - k_first_gpr_mips64 + 1,
- k_num_fpr_registers_mips64 = k_last_fpr_mips64 - k_first_fpr_mips64 + 1,
-};
-} // namespace lldb_private
-#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_MIPS_FREEBSD_REGISTER_ENUMS_H
diff --git a/lldb/source/Plugins/Process/elf-core/CMakeLists.txt b/lldb/source/Plugins/Process/elf-core/CMakeLists.txt
index 0bc26bb0efbe3..73d2b9ac9957b 100644
--- a/lldb/source/Plugins/Process/elf-core/CMakeLists.txt
+++ b/lldb/source/Plugins/Process/elf-core/CMakeLists.txt
@@ -4,7 +4,6 @@ add_lldb_library(lldbPluginProcessElfCore PLUGIN
RegisterContextLinuxCore_x86_64.cpp
RegisterContextPOSIXCore_arm.cpp
RegisterContextPOSIXCore_arm64.cpp
- RegisterContextPOSIXCore_mips64.cpp
RegisterContextPOSIXCore_powerpc.cpp
RegisterContextPOSIXCore_ppc64le.cpp
RegisterContextPOSIXCore_s390x.cpp
diff --git a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
index 5e4c67af059db..1d2876cd3454b 100644
--- a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
+++ b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
@@ -669,7 +669,6 @@ ProcessElfCore::parseSegment(const DataExtractor &segment) {
llvm::Error ProcessElfCore::parseFreeBSDNotes(llvm::ArrayRef<CoreNote> notes) {
ArchSpec arch = GetArchitecture();
bool lp64 = (arch.GetMachine() == llvm::Triple::aarch64 ||
- arch.GetMachine() == llvm::Triple::mips64 ||
arch.GetMachine() == llvm::Triple::ppc64 ||
arch.GetMachine() == llvm::Triple::x86_64);
bool have_prstatus = false;
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
deleted file mode 100644
index 56e68742ead77..0000000000000
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//===-- RegisterContextPOSIXCore_mips64.cpp -------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "RegisterContextPOSIXCore_mips64.h"
-
-#include "lldb/Target/Thread.h"
-#include "lldb/Utility/RegisterValue.h"
-
-#include <memory>
-
-using namespace lldb_private;
-
-RegisterContextCorePOSIX_mips64::RegisterContextCorePOSIX_mips64(
- Thread &thread, RegisterInfoInterface *register_info,
- const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
- : RegisterContextPOSIX_mips64(thread, 0, register_info) {
- m_gpr_buffer = std::make_shared<DataBufferHeap>(gpregset.GetDataStart(),
- gpregset.GetByteSize());
- m_gpr.SetData(m_gpr_buffer);
- m_gpr.SetByteOrder(gpregset.GetByteOrder());
-
- DataExtractor fpregset = getRegset(
- notes, register_info->GetTargetArchitecture().GetTriple(), FPR_Desc);
- m_fpr_buffer = std::make_shared<DataBufferHeap>(fpregset.GetDataStart(),
- fpregset.GetByteSize());
- m_fpr.SetData(m_fpr_buffer);
- m_fpr.SetByteOrder(fpregset.GetByteOrder());
-}
-
-RegisterContextCorePOSIX_mips64::~RegisterContextCorePOSIX_mips64() = default;
-
-bool RegisterContextCorePOSIX_mips64::ReadGPR() { return true; }
-
-bool RegisterContextCorePOSIX_mips64::ReadFPR() { return false; }
-
-bool RegisterContextCorePOSIX_mips64::WriteGPR() {
- assert(0);
- return false;
-}
-
-bool RegisterContextCorePOSIX_mips64::WriteFPR() {
- assert(0);
- return false;
-}
-
-bool RegisterContextCorePOSIX_mips64::ReadRegister(const RegisterInfo *reg_info,
- RegisterValue &value) {
-
- lldb::offset_t offset = reg_info->byte_offset;
- lldb_private::ArchSpec arch = m_register_info_up->GetTargetArchitecture();
- uint64_t v;
- if (IsGPR(reg_info->kinds[lldb::eRegisterKindLLDB])) {
- if (reg_info->byte_size == 4 && !(arch.GetMachine() == llvm::Triple::mips64el))
- // In case of 32bit core file, the register data are placed at 4 byte
- // offset.
- offset = offset / 2;
- v = m_gpr.GetMaxU64(&offset, reg_info->byte_size);
- value = v;
- return true;
- } else if (IsFPR(reg_info->kinds[lldb::eRegisterKindLLDB])) {
- offset = offset - sizeof(GPR_linux_mips);
- v =m_fpr.GetMaxU64(&offset, reg_info->byte_size);
- value = v;
- return true;
- }
- return false;
-}
-
-bool RegisterContextCorePOSIX_mips64::ReadAllRegisterValues(
- lldb::WritableDataBufferSP &data_sp) {
- return false;
-}
-
-bool RegisterContextCorePOSIX_mips64::WriteRegister(
- const RegisterInfo *reg_info, const RegisterValue &value) {
- return false;
-}
-
-bool RegisterContextCorePOSIX_mips64::WriteAllRegisterValues(
- const lldb::DataBufferSP &data_sp) {
- return false;
-}
-
-bool RegisterContextCorePOSIX_mips64::HardwareSingleStep(bool enable) {
- return false;
-}
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h b/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
deleted file mode 100644
index 529b00215e352..0000000000000
--- a/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
+++ /dev/null
@@ -1,55 +0,0 @@
-//===-- RegisterContextPOSIXCore_mips64.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.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_MIPS64_H
-#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_MIPS64_H
-
-#include "Plugins/Process/Utility/RegisterContextPOSIX_mips64.h"
-#include "Plugins/Process/elf-core/RegisterUtilities.h"
-#include "lldb/Utility/DataBufferHeap.h"
-#include "lldb/Utility/DataExtractor.h"
-
-class RegisterContextCorePOSIX_mips64 : public RegisterContextPOSIX_mips64 {
-public:
- RegisterContextCorePOSIX_mips64(
- lldb_private...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/179987
More information about the lldb-commits
mailing list