[compiler-rt] r375471 - [hwasan] Workaround unwinder issues in try-catch test.

Evgeniy Stepanov via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 21 16:57:12 PDT 2019


Author: eugenis
Date: Mon Oct 21 16:57:12 2019
New Revision: 375471

URL: http://llvm.org/viewvc/llvm-project?rev=375471&view=rev
Log:
[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.

Modified:
    compiler-rt/trunk/test/hwasan/TestCases/try-catch.cpp

Modified: compiler-rt/trunk/test/hwasan/TestCases/try-catch.cpp
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/hwasan/TestCases/try-catch.cpp?rev=375471&r1=375470&r2=375471&view=diff
==============================================================================
--- compiler-rt/trunk/test/hwasan/TestCases/try-catch.cpp (original)
+++ compiler-rt/trunk/test/hwasan/TestCases/try-catch.cpp Mon Oct 21 16:57:12 2019
@@ -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




More information about the llvm-commits mailing list