[libunwind] Don't use dl_iterate_phdr if __ANDROID_API__ < 21

Summary:
On ARM, dl_iterate_phdr is only implemented in the Android NDK version 21 or later:
https://android.googlesource.com/platform/prebuilts/ndk/+/dev/platform/sysroot/usr/include/link.h#55

Reviewers: thakis, danalbert

Reviewed By: danalbert

Subscribers: dtzWill, aemerson, srhines, kristof.beyls

Differential Revision: https://reviews.llvm.org/D39468

Change-Id: I770aad7d7d58f6787f9ecd38b83e0ffe44792392
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@317125 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/AddressSpace.hpp b/src/AddressSpace.hpp
index f0091fc..acf0a44 100644
--- a/src/AddressSpace.hpp
+++ b/src/AddressSpace.hpp
@@ -383,6 +383,14 @@
                              info.arm_section, info.arm_section_length);
   if (info.arm_section && info.arm_section_length)
     return true;
+#elif defined(_LIBUNWIND_ARM_EHABI) && defined(__BIONIC__) &&                  \
+    (__ANDROID_API__ < 21)
+  int length = 0;
+  info.arm_section =
+      (uintptr_t)dl_unwind_find_exidx((_Unwind_Ptr)targetAddr, &length);
+  info.arm_section_length = (uintptr_t)length;
+  if (info.arm_section && info.arm_section_length)
+    return true;
 #elif _LIBUNWIND_SUPPORT_DWARF_UNWIND
 #if _LIBUNWIND_SUPPORT_DWARF_INDEX
   struct dl_iterate_cb_data {