[Lldb-commits] [lldb] [lldb/aarch64] Fix unwinding when signal interrupts a leaf function (PR #91321)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Tue May 7 05:06:31 PDT 2024


================
@@ -1555,12 +1555,12 @@ RegisterContextUnwind::SavedLocationForRegister(
   }
 
   if (unwindplan_regloc.IsSame()) {
-    if (!IsFrameZero() &&
+    if (!m_all_registers_available &&
         (regnum.GetAsKind(eRegisterKindGeneric) == LLDB_REGNUM_GENERIC_PC ||
----------------
labath wrote:

`pc=<same>` is probably still only valid for real frame zero, so we could make the `m_all_registers_available` check `lr`-only.

.. or drop the lr check entirely, since some non-ABI-respecting functions could actually preserve the value of lr even if they are not leaf functions.

https://github.com/llvm/llvm-project/pull/91321


More information about the lldb-commits mailing list