This patch re-enabled GWP-ASan for Android and other ARM platforms. It does two
things:
- Adds -fno-emulated-tls, as the clang driver still default compiles using emulated TLS on Android.
- Also uses sanitizer common unwinder on Android, as glibc backtrace() isn't available.
This patch should be monitored closely when submitting. I don't have the ARM32
machines that the patches initially broke to verify that this fixes the
problem, but it's a good attempt.
This alignment is manually required, as otherwise with my NDK (r18b) the bionic linker complains when running the test that the executable's TLS segment is underaligned: alignment is 8, needs to be at least 64 for ARM64 Bionic. Apparently this is fixed in the new NDKv21, but we can't update our bots to that at this time as the migration is nontrivial :( (NDKv21 breaks other things in standalone compiler-rt).