https://github.com/mchoo7 updated https://github.com/llvm/llvm-project/pull/179587
>From 4e426ef3b0b79ab790fb3edebb85afc42c0010d4 Mon Sep 17 00:00:00 2001 From: Minsoo Choo <[email protected]> Date: Tue, 3 Feb 2026 19:53:06 -0500 Subject: [PATCH] [lldb] [Process/FreeBSD] Assume minimum is FreeBSD 14 Signed-off-by: Minsoo Choo <[email protected]> --- .../NativeRegisterContextFreeBSD_arm64.cpp | 24 ++----------------- .../NativeRegisterContextFreeBSD_arm64.h | 6 ----- llvm/docs/ReleaseNotes.md | 3 +++ 3 files changed, 5 insertions(+), 28 deletions(-) diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp index d21dac221aa22..f50b28e2ebd1d 100644 --- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp +++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp @@ -54,12 +54,8 @@ NativeRegisterContextFreeBSD::CreateHostNativeRegisterContextFreeBSD( NativeRegisterContextFreeBSD_arm64::NativeRegisterContextFreeBSD_arm64( const ArchSpec &target_arch, NativeThreadFreeBSD &native_thread) : NativeRegisterContextRegisterInfo( - native_thread, new RegisterInfoPOSIX_arm64(target_arch, 0)) -#ifdef LLDB_HAS_FREEBSD_WATCHPOINT - , - m_read_dbreg(false) -#endif -{ + native_thread, new RegisterInfoPOSIX_arm64(target_arch, 0)), + m_read_dbreg(false) { g_register_flags_detector.UpdateRegisterInfo( GetRegisterInfoInterface().GetRegisterInfo(), GetRegisterInfoInterface().GetRegisterCount()); @@ -225,7 +221,6 @@ Status NativeRegisterContextFreeBSD_arm64::WriteAllRegisterValues( llvm::Error NativeRegisterContextFreeBSD_arm64::CopyHardwareWatchpointsFrom( NativeRegisterContextFreeBSD &source) { -#ifdef LLDB_HAS_FREEBSD_WATCHPOINT auto &r_source = static_cast<NativeRegisterContextFreeBSD_arm64 &>(source); llvm::Error error = r_source.ReadHardwareDebugInfo(); if (error) @@ -240,13 +235,9 @@ llvm::Error NativeRegisterContextFreeBSD_arm64::CopyHardwareWatchpointsFrom( // on FreeBSD this writes both breakpoints and watchpoints return WriteHardwareDebugRegs(eDREGTypeWATCH); -#else - return llvm::Error::success(); -#endif } llvm::Error NativeRegisterContextFreeBSD_arm64::ReadHardwareDebugInfo() { -#ifdef LLDB_HAS_FREEBSD_WATCHPOINT Log *log = GetLog(POSIXLog::Registers); // we're fully stateful, so no need to reread control registers ever @@ -267,16 +258,10 @@ llvm::Error NativeRegisterContextFreeBSD_arm64::ReadHardwareDebugInfo() { m_read_dbreg = true; return llvm::Error::success(); -#else - return llvm::createStringError( - llvm::inconvertibleErrorCode(), - "Hardware breakpoints/watchpoints require FreeBSD 14.0"); -#endif } llvm::Error NativeRegisterContextFreeBSD_arm64::WriteHardwareDebugRegs(DREGType) { -#ifdef LLDB_HAS_FREEBSD_WATCHPOINT assert(m_read_dbreg && "dbregs must be read before writing them back"); // copy data from m_*_regs to m_dbreg before writing it back @@ -292,11 +277,6 @@ NativeRegisterContextFreeBSD_arm64::WriteHardwareDebugRegs(DREGType) { return NativeProcessFreeBSD::PtraceWrapper(PT_SETDBREGS, m_thread.GetID(), &m_dbreg) .ToError(); -#else - return llvm::createStringError( - llvm::inconvertibleErrorCode(), - "Hardware breakpoints/watchpoints require FreeBSD 14.0"); -#endif } #endif // defined (__aarch64__) diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h index 80ed328f08bdf..20cbd643e95cf 100644 --- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h +++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h @@ -23,10 +23,6 @@ #include <array> -#if __FreeBSD_version >= 1300139 -#define LLDB_HAS_FREEBSD_WATCHPOINT 1 -#endif - namespace lldb_private { namespace process_freebsd { @@ -64,10 +60,8 @@ class NativeRegisterContextFreeBSD_arm64 // and sizes, so we do not have to worry about these (and we have // a unittest to assert that). std::array<uint8_t, sizeof(reg) + sizeof(fpreg)> m_reg_data; -#ifdef LLDB_HAS_FREEBSD_WATCHPOINT dbreg m_dbreg; bool m_read_dbreg; -#endif Status ReadRegisterSet(uint32_t set); Status WriteRegisterSet(uint32_t set); diff --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md index 2a535dc0530a0..c183b041022e4 100644 --- a/llvm/docs/ReleaseNotes.md +++ b/llvm/docs/ReleaseNotes.md @@ -174,6 +174,9 @@ Changes to the LLVM tools Changes to LLDB --------------- +* The minimum assumed version of FreeBSD is now 14. The effect of which is that watchpoints are + assumed to be supported. + Changes to BOLT --------------- _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
