Prevents unw_step from trying to unwind the stack using the ARM specific unwind tables in case the DWARF based unwinding was successful.
Signed-off-by: Ken Werner <[email protected]> --- src/arm/Gstep.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/arm/Gstep.c b/src/arm/Gstep.c index 1dae78e..149a65a 100644 --- a/src/arm/Gstep.c +++ b/src/arm/Gstep.c @@ -177,8 +177,10 @@ unw_step (unw_cursor_t *cursor) ret = dwarf_step (&c->dwarf); Debug(1, "dwarf_step()=%d\n", ret); - if (unlikely (ret == -UNW_ESTOPUNWIND)) - return ret; + if (likely (ret > 0)) + return 1; + else if (unlikely (ret == -UNW_ESTOPUNWIND)) + return ret; if (ret < 0 && ret != -UNW_ENOINFO) { -- 1.7.4.1 _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
