Update libc++abi to use the ARM EHABI unwinder from its libunwind.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@211745 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/cxa_exception.cpp b/src/cxa_exception.cpp
index 13c060c..d5bc74a 100644
--- a/src/cxa_exception.cpp
+++ b/src/cxa_exception.cpp
@@ -447,8 +447,17 @@
 */
 void __cxa_end_catch()
 {
-    static_assert(sizeof(__cxa_exception) == sizeof(__cxa_dependent_exception),
-                  "sizeof(__cxa_exception) must be equal to sizeof(__cxa_dependent_exception)");
+  static_assert(sizeof(__cxa_exception) == sizeof(__cxa_dependent_exception),
+                "sizeof(__cxa_exception) must be equal to "
+                "sizeof(__cxa_dependent_exception)");
+    static_assert(offsetof(__cxa_exception, referenceCount) ==
+                      offsetof(__cxa_dependent_exception, primaryException),
+                  "the layout of __cxa_exception must match the layout of "
+                  "__cxa_dependent_exception");
+    static_assert(offsetof(__cxa_exception, handlerCount) ==
+                      offsetof(__cxa_dependent_exception, handlerCount),
+                  "the layout of __cxa_exception must match the layout of "
+                  "__cxa_dependent_exception");
     __cxa_eh_globals* globals = __cxa_get_globals_fast(); // __cxa_get_globals called in __cxa_begin_catch
     __cxa_exception* exception_header = globals->caughtExceptions;
     // If we've rethrown a foreign exception, then globals->caughtExceptions