================
@@ -486,9 +459,9 @@ bool UnwindPlan::PlanValidAtAddress(Address addr) {
   // If the 0th Row of unwind instructions is missing, or if it doesn't provide
   // a register to use to find the Canonical Frame Address, this is not a valid
   // UnwindPlan.
-  if (GetRowAtIndex(0).get() == nullptr ||
-      GetRowAtIndex(0)->GetCFAValue().GetValueType() ==
-          Row::FAValue::unspecified) {
+  RowSP row0_sp = GetRowForFunctionOffset(0);
+  if (!row0_sp ||
+      row0_sp->GetCFAValue().GetValueType() == Row::FAValue::unspecified) {
----------------
labath wrote:

This is potentially too strict. We could say we check for the CFA value of the 
first row -- even if that row doesn't start at offset zero (that's what the 
code was doing before). Or, we could say we check for the CFA value of the row 
matching the provided address...

https://github.com/llvm/llvm-project/pull/127661
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to