[Lldb-commits] [lldb] 1157656 - [lldb][Process/FreeBSDKernelCore] Fix RegisterContext for arm64 (#183947)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Mar 2 08:00:27 PST 2026
Author: Minsoo Choo
Date: 2026-03-02T11:00:22-05:00
New Revision: 11576569336d5c92baf8fbc9a3f1502a95f57e52
URL: https://github.com/llvm/llvm-project/commit/11576569336d5c92baf8fbc9a3f1502a95f57e52
DIFF: https://github.com/llvm/llvm-project/commit/11576569336d5c92baf8fbc9a3f1502a95f57e52.diff
LOG: [lldb][Process/FreeBSDKernelCore] Fix RegisterContext for arm64 (#183947)
Since `pcb.lr` always contains the value of pc, `gpr_lr_arm64` should be
unavailable. This also fixes the case where `gpr_pc_arm64` displays sp
not lr field in pcb.
Reported by: jrtc27
Fixes: 4f0eb3d3af443ff54425ebafce83b87ee61ee403 (#180222)
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Added:
Modified:
lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
Removed:
################################################################################
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 afd60a64a6365..15f14f6b2d127 100644
--- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
@@ -96,15 +96,14 @@ bool RegisterContextFreeBSDKernelCore_arm64::ReadRegister(
"nonconsecutive arm64 register numbers");
value = pcb.x[reg - gpr_x19_arm64];
break;
- case gpr_lr_arm64:
+ case gpr_sp_arm64:
+ value = pcb.sp;
+ break;
case gpr_pc_arm64:
// The pc of crashing thread is stored in lr.
static_assert(gpr_lr_arm64 - gpr_x19_arm64 == PCB_LR,
"nonconsecutive arm64 register numbers");
- value = pcb.x[reg - gpr_x19_arm64];
- break;
- case gpr_sp_arm64:
- value = pcb.sp;
+ value = pcb.x[gpr_lr_arm64 - gpr_x19_arm64];
break;
default:
return false;
More information about the lldb-commits
mailing list