summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2019-10-21 23:57:12 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2019-10-21 23:57:12 +0000
commita3697b7f0eb500a70f161e7f8633d3936ab4ad81 (patch)
tree837f3f6d090c51ebc3e33153379400563088c3e6
parent89a8e62c03aa2cfe044c9023ec3bbaefb835a7df (diff)
downloadcompiler-rt-a3697b7f0eb500a70f161e7f8633d3936ab4ad81.tar.gz
[hwasan] Workaround unwinder issues in try-catch test.
Android links the unwinder library to every DSO. The problem is, unwinder has global state, and hwasan implementation of personality function wrapper happens to rub it the wrong way. Switch the test to static libc++ as a temporary workaround. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@375471 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/hwasan/TestCases/try-catch.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/test/hwasan/TestCases/try-catch.cpp b/test/hwasan/TestCases/try-catch.cpp
index ce1a92b34..8e35a9dd2 100644
--- a/test/hwasan/TestCases/try-catch.cpp
+++ b/test/hwasan/TestCases/try-catch.cpp
@@ -1,7 +1,8 @@
-// RUN: %clangxx_hwasan %s -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=GOOD
-// RUN: %clangxx_hwasan -DNO_SANITIZE_F %s -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=GOOD
-// RUN: %clangxx_hwasan_oldrt %s -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=GOOD
-// RUN: %clangxx_hwasan_oldrt %s -mllvm -hwasan-instrument-landing-pads=0 -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=BAD
+// This test is broken with shared libstdc++ / libc++ on Android.
+// RUN: %clangxx_hwasan -static-libstdc++ %s -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=GOOD
+// RUN: %clangxx_hwasan -static-libstdc++ -DNO_SANITIZE_F %s -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=GOOD
+// RUN: %clangxx_hwasan_oldrt -static-libstdc++ %s -o %t && %run %t 2>&1 | FileCheck %s --check-prefix=GOOD
+// RUN: %clangxx_hwasan_oldrt -static-libstdc++ %s -mllvm -hwasan-instrument-landing-pads=0 -o %t && not %run %t 2>&1 | FileCheck %s --check-prefix=BAD
// C++ tests on x86_64 require instrumented libc++/libstdc++.
// REQUIRES: aarch64-target-arch