[Lldb-commits] [lldb] a751f65 - [lldb][RISCV] function prologue backtrace fix (#99043)
via lldb-commits
lldb-commits at lists.llvm.org
Wed Jul 17 01:36:23 PDT 2024
Author: dlav-sc
Date: 2024-07-17T09:36:19+01:00
New Revision: a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
URL: https://github.com/llvm/llvm-project/commit/a751f653b40f2021f091a2f1ebcc2d91bc4cc89d
DIFF: https://github.com/llvm/llvm-project/commit/a751f653b40f2021f091a2f1ebcc2d91bc4cc89d.diff
LOG: [lldb][RISCV] function prologue backtrace fix (#99043)
CreateFunctionEntryUnwindPlan RISCV ABI function fix needed to receive a
valid backtrace at the start of functions.
Fixed tests for RISCV target:
TestNumThreads.NumberOfThreadsTestCase
TestCPPExceptionBreakpoints.CPPBreakpointTestCase
TestStepThroughTrampoline.StepThroughTrampoline
TestOSPluginStepping.TestOSPluginStepping
TestSteppingOutWithArtificialFrames.TestArtificialFrameThreadStepOut1
TestStepAvoidsRegexp.StepAvoidsRegexTestCase
TestInlineStepping.TestInlineStepping
TestStepOverBreakpoint.StepOverBreakpointsTestCase
TestStepOverBreakpoint.StepOverBreakpointsTestCase
TestSteppingOutWithArtificialFrames.TestArtificialFrameThreadStepOut1
TestTailCallFrameSBAPI.TestTailCallFrameSBAPI
TestThreadPlanUserBreakpoint.ThreadPlanUserBreakpointsTestCase
Added:
Modified:
lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp b/lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
index 6395f5bb5bd9b..35d4f0521bf1f 100644
--- a/lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
+++ b/lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
@@ -13,6 +13,7 @@
#include "llvm/IR/DerivedTypes.h"
+#include "Utility/RISCV_DWARF_Registers.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Value.h"
#include "lldb/Core/ValueObjectConstResult.h"
@@ -643,9 +644,9 @@ bool ABISysV_riscv::CreateFunctionEntryUnwindPlan(UnwindPlan &unwind_plan) {
unwind_plan.Clear();
unwind_plan.SetRegisterKind(eRegisterKindDWARF);
- uint32_t pc_reg_num = LLDB_REGNUM_GENERIC_PC;
- uint32_t sp_reg_num = LLDB_REGNUM_GENERIC_SP;
- uint32_t ra_reg_num = LLDB_REGNUM_GENERIC_RA;
+ uint32_t pc_reg_num = riscv_dwarf::dwarf_gpr_pc;
+ uint32_t sp_reg_num = riscv_dwarf::dwarf_gpr_sp;
+ uint32_t ra_reg_num = riscv_dwarf::dwarf_gpr_ra;
UnwindPlan::RowSP row(new UnwindPlan::Row);
More information about the lldb-commits
mailing list