summaryrefslogtreecommitdiff
path: root/src/arm/Gglobal.c
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/arm/Gglobal.c
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/arm/Gglobal.c')
-rw-r--r--src/arm/Gglobal.c5
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)