unw_step should return zero for _MIPS_SIM != _ABI64 when dwarf_step failed
(restore unw_step behaviour before
5eec9a2ecb9a93996d566bbfbcdbe006f64b7e16).
From b39e6bc050796ce068f10632bfea2be2302f058c Mon Sep 17 00:00:00 2001
From: Sergey Korolev <[email protected]>
Date: Tue, 22 Jan 2019 23:56:38 +0300
Subject: [PATCH] mips: fix regression after "Handle Gstep according the
N64/N32 ABI"
unw_step should return zero for _MIPS_SIM != _ABI64 when dwarf_step failed
(restore unw_step behaviour before 5eec9a2ecb9a93996d566bbfbcdbe006f64b7e16).
---
src/mips/Gstep.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/mips/Gstep.c b/src/mips/Gstep.c
index f5a742e1..b967dd89 100644
--- a/src/mips/Gstep.c
+++ b/src/mips/Gstep.c
@@ -208,11 +208,14 @@ unw_step (unw_cursor_t *cursor)
if (unlikely (ret == -UNW_ESTOPUNWIND))
return ret;
-#if _MIPS_SIM == _ABI64
if (unlikely (ret < 0))
{
+#if _MIPS_SIM == _ABI64
return _step_n64(c);
- }
+#else
+ return ret;
#endif
+ }
+
return (c->dwarf.ip == 0) ? 0 : 1;
}
--
2.11.0
_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel