Fix baremetal build
Wire up _Unwind_GetLanguageSpecificData

Conflicts:
	sources/cxx-stl/llvm-libc++abi/libcxxabi/src/cxa_personality.cpp

Change-Id: I4fe1692c7acc16e2ef1353c6a7e0d6502c43b45f
Drop the thumb bit from the IP when finding the EHTable.

In UnwindCursor::setInfoBasedOnIPRegister, we subtract one
from the pc to keep the pc from going beyond the end of the
method.

On arm if in thumb mode, subtracting one only removes the
thumb and leaves us in the same position. So we clear the thumb
bit before subtracting to ensure we move the instruction pointer
to the previous instruction.

This fixes the last failing libc++abi test.

Change-Id: I000fb3a698db77caa4950532c20aab4b0fa486f8
Put thumb mode into an env var so we can toggle it more easily.

Change-Id: I6af3f5c1e4556dfe3b159daab136e6bf6c98f8dc
Disable locale-specific tests in re.traits

Change-Id: I8d1b58f42c42c2a9ba6a8be37b6cd6f712650dbc
Fix layout of __cxa_dependent_exception

Change-Id: I93557cfdd98bb95d1f621e69836e17dfb79208c3
Add __ANDROID__ to the list of non-baremetal platforms
Make LIBCXXABI_BARE_METAL a command-line define instead
minitest: Add support for long double types.

This adds support for comparing and printing long double arguments
to macros like EXPECT_EQ().

Change-Id: I0bfd9cb74ee5038049461627ec7a8a39e97bb20e
android/support: Fix long double support.

The code in src/math_support.c assumed that 'long double' and
'double' are actually the same size, but this is only true on
32-bit Android systems. For Android/64, 'long double' is actually
16 bytes / 128 bits on all CPU architectures.

Moreover, all Android/64 math libraries provide the missing functions,
so just ensure they are only compiled when targetting 32-bit systems.

+ Add a new unit test (math_unittest.cc)

Change-Id: Ie2b6388c60b208f928b57bf044f6b145c29bbcd0