[Lldb-commits] [lldb] 1e7300f - [PPC64][Linux] Watchpoint configuration for PPC64 (#185192)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Mar 9 03:41:24 PDT 2026
Author: Dhruv Srivastava
Date: 2026-03-09T16:11:20+05:30
New Revision: 1e7300fddcc6fa5e40fb770cb9a88e4f8c1f694d
URL: https://github.com/llvm/llvm-project/commit/1e7300fddcc6fa5e40fb770cb9a88e4f8c1f694d
DIFF: https://github.com/llvm/llvm-project/commit/1e7300fddcc6fa5e40fb770cb9a88e4f8c1f694d.diff
LOG: [PPC64][Linux] Watchpoint configuration for PPC64 (#185192)
On PPC64, SIGTRAP is delivered before the triggering instruction
completes. The previous implementation wrongly assumed that the
instruction gets executed and due to that qHostInfo has the wrong info,
causing the SingleStep being avoided on Linux for PPC64, and the
execution being stuck at the store instruction.
This patch corrects this, making watchpoint work.
Added:
Modified:
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
index 4a1117222f34c..786ced6525364 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
@@ -234,7 +234,7 @@ GDBRemoteCommunicationServerCommon::Handle_qHostInfo(
host_arch.GetMachine() == llvm::Triple::aarch64_be ||
host_arch.GetMachine() == llvm::Triple::arm ||
host_arch.GetMachine() == llvm::Triple::armeb || host_arch.IsMIPS() ||
- host_arch.GetTriple().isLoongArch())
+ host_arch.GetTriple().isPPC64() || host_arch.GetTriple().isLoongArch())
response.Printf("watchpoint_exceptions_received:before;");
else
response.Printf("watchpoint_exceptions_received:after;");
More information about the lldb-commits
mailing list