Snap for 6439596 from 6352e01a22119b918b6bc30e5882b5a6f81cff80 to qt-aml-tzdata-release

Change-Id: Ifbaead7ce7452c7704a4ee272458e2321597c474
diff --git a/Android.bp b/Android.bp
index 6eb34a0..61709d6 100644
--- a/Android.bp
+++ b/Android.bp
@@ -35,7 +35,6 @@
 LIBUNWIND_CFLAGS = [
     "-Wall",
     "-Werror",
-    "-D_LIBUNWIND_USE_DLADDR=0",
 ]
 
 LIBUNWIND_CPPFLAGS = [
@@ -54,7 +53,6 @@
     sdk_version: "21",
     vendor_available: true,
     recovery_available: true,
-    native_bridge_supported: true,
     srcs: LIBUNWIND_SRC_FILES,
     include_dirs: LIBUNWIND_INCLUDES,
     local_include_dirs: LIBUNWIND_LOCAL_INCLUDES,
diff --git a/src/AddressSpace.hpp b/src/AddressSpace.hpp
index 18e7228..fb370ad 100644
--- a/src/AddressSpace.hpp
+++ b/src/AddressSpace.hpp
@@ -29,13 +29,6 @@
 #include <dlfcn.h>
 #endif
 
-#if defined(_LIBUNWIND_ARM_EHABI)
-struct EHABIIndexEntry {
-  uint32_t functionOffset;
-  uint32_t data;
-};
-#endif
-
 #ifdef __APPLE__
 #include <mach-o/getsect.h>
 namespace libunwind {
@@ -466,13 +459,12 @@
   (void)targetAddr;
   (void)info;
   return true;
-#elif defined(_LIBUNWIND_ARM_EHABI) && defined(__BIONIC__)
-  // For ARM EHABI, Bionic didn't implement dl_iterate_phdr until API 21. After
-  // API 21, dl_iterate_phdr exists, but dl_unwind_find_exidx is much faster.
+#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 * sizeof(EHABIIndexEntry);
+  info.arm_section_length = (uintptr_t)length;
   if (info.arm_section && info.arm_section_length)
     return true;
 #elif defined(_LIBUNWIND_ARM_EHABI) || defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
diff --git a/src/UnwindCursor.hpp b/src/UnwindCursor.hpp
index e2de6d5..836de38 100644
--- a/src/UnwindCursor.hpp
+++ b/src/UnwindCursor.hpp
@@ -1222,6 +1222,11 @@
 #endif // defined(_LIBUNWIND_SUPPORT_SEH_UNWIND)
 
 #if defined(_LIBUNWIND_ARM_EHABI)
+struct EHABIIndexEntry {
+  uint32_t functionOffset;
+  uint32_t data;
+};
+
 template<typename A>
 struct EHABISectionIterator {
   typedef EHABISectionIterator _Self;