This revision was automatically updated to reflect the committed changes.
Closed by commit rL305687: Tweak SysV_arm64 function entry unwind plan
(authored by labath).
Changed prior to commit:
https://reviews.llvm.org/D34199?vs=102514&id=103025#toc
Repository:
rL LLVM
https://reviews.llvm.org/D34199
Files:
lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
Index: lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
===================================================================
--- lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
+++ lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
@@ -1951,22 +1951,20 @@
uint32_t lr_reg_num = arm64_dwarf::lr;
uint32_t sp_reg_num = arm64_dwarf::sp;
- uint32_t pc_reg_num = arm64_dwarf::pc;
UnwindPlan::RowSP row(new UnwindPlan::Row);
// Our previous Call Frame Address is the stack pointer
row->GetCFAValue().SetIsRegisterPlusOffset(sp_reg_num, 0);
- // Our previous PC is in the LR
- row->SetRegisterLocationToRegister(pc_reg_num, lr_reg_num, true);
-
unwind_plan.AppendRow(row);
+ unwind_plan.SetReturnAddressRegister(lr_reg_num);
// All other registers are the same.
unwind_plan.SetSourceName("arm64 at-func-entry default");
unwind_plan.SetSourcedFromCompiler(eLazyBoolNo);
+ unwind_plan.SetUnwindPlanValidAtAllInstructions(eLazyBoolNo);
return true;
}
Index: lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
===================================================================
--- lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
+++ lldb/trunk/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
@@ -1951,22 +1951,20 @@
uint32_t lr_reg_num = arm64_dwarf::lr;
uint32_t sp_reg_num = arm64_dwarf::sp;
- uint32_t pc_reg_num = arm64_dwarf::pc;
UnwindPlan::RowSP row(new UnwindPlan::Row);
// Our previous Call Frame Address is the stack pointer
row->GetCFAValue().SetIsRegisterPlusOffset(sp_reg_num, 0);
- // Our previous PC is in the LR
- row->SetRegisterLocationToRegister(pc_reg_num, lr_reg_num, true);
-
unwind_plan.AppendRow(row);
+ unwind_plan.SetReturnAddressRegister(lr_reg_num);
// All other registers are the same.
unwind_plan.SetSourceName("arm64 at-func-entry default");
unwind_plan.SetSourcedFromCompiler(eLazyBoolNo);
+ unwind_plan.SetUnwindPlanValidAtAllInstructions(eLazyBoolNo);
return true;
}
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits