diff options
author | Ole André Vadla Ravnås <oleavr@gmail.com> | 2020-11-12 04:25:58 +0100 |
---|---|---|
committer | Dave Watson <dade.watson@gmail.com> | 2020-12-03 07:22:38 -0800 |
commit | 3f7ab0b7ca447e5038fd2050c0c660f88125e7b0 (patch) | |
tree | cb9d840605ad5c5652e11b0491cb62e5c812c134 /src/x86 | |
parent | cee5505a99d42a423059a1add8b87b75aeb45daa (diff) | |
download | libunwind-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.c | 4 |
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; } |