|
From: | Story, Lenny |
Subject: | Re: unw_step loops forever on MIPS. |
Date: | Thu, 10 Jun 2021 14:02:07 +0000 |
Sergey,
That patch worked great.
Thanks For the super quick response.
-Lenny
From: Sergey Korolev <s.korolev@ndmsystems.com>
Sent: Tuesday, June 8, 2021 4:58 PM To: Story, Lenny <lstory@irobot.com> Cc: libunwind-devel@nongnu.org <libunwind-devel@nongnu.org> Subject: Re: unw_step loops forever on MIPS. Lenny, please try an attached patch (https://github.com/keenetic/libunwind/commit/d746635d2b8d44b3dddbc333cfcd32f9fe8b213d).
From d746635d2b8d44b3dddbc333cfcd32f9fe8b213d Mon Sep 17 00:00:00 2001
From: Sergey Korolev <s.korolev@ndmsystems.com> 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.25.1 On Tue, Jun 8, 2021 at 11:39 PM Story, Lenny <lstory@irobot.com> wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |