summaryrefslogtreecommitdiff
path: root/src/x86
diff options
context:
space:
mode:
authorOle André Vadla Ravnås <oleavr@gmail.com>2020-11-12 04:25:58 +0100
committerDave Watson <dade.watson@gmail.com>2020-12-03 07:22:38 -0800
commit3f7ab0b7ca447e5038fd2050c0c660f88125e7b0 (patch)
treecb9d840605ad5c5652e11b0491cb62e5c812c134 /src/x86
parentcee5505a99d42a423059a1add8b87b75aeb45daa (diff)
downloadlibunwind-3f7ab0b7ca447e5038fd2050c0c660f88125e7b0.tar.gz
Add support for older versions of Android
Based on: - dl_iterate_phdr() patch by Jeff Muizelaar. - maps_next() improvement from AOSP: 7d46a21. - unwi_unwind_method and x86_local_resume() from AOSP: 1c82a52.
Diffstat (limited to 'src/x86')
-rw-r--r--src/x86/Gos-linux.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/x86/Gos-linux.c b/src/x86/Gos-linux.c
index fb9a5e34..d448dce7 100644
--- a/src/x86/Gos-linux.c
+++ b/src/x86/Gos-linux.c
@@ -298,12 +298,16 @@ x86_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc);
+#if !defined(__ANDROID__)
x86_sigreturn (sc);
+#endif
}
else
{
Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
+#if !defined(__ANDROID__)
setcontext (uc);
+#endif
}
return -UNW_EINVAL;
}