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/arm/Gglobal.c | |
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/arm/Gglobal.c')
-rw-r--r-- | src/arm/Gglobal.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/arm/Gglobal.c b/src/arm/Gglobal.c index 2fb1d211..0700f930 100644 --- a/src/arm/Gglobal.c +++ b/src/arm/Gglobal.c @@ -29,7 +29,12 @@ HIDDEN define_lock (arm_lock); HIDDEN atomic_bool tdep_init_done = 0; /* Unwinding methods to use. See UNW_METHOD_ enums */ +#if defined(__ANDROID__) +/* Android only supports three types of unwinding methods. */ +HIDDEN int unwi_unwind_method = UNW_ARM_METHOD_DWARF | UNW_ARM_METHOD_EXIDX | UNW_ARM_METHOD_LR; +#else HIDDEN int unwi_unwind_method = UNW_ARM_METHOD_ALL; +#endif HIDDEN void tdep_init (void) |