summaryrefslogtreecommitdiff
path: root/test/ubsan
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2014-07-23 18:32:55 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2014-07-23 18:32:55 +0000
commitbb7c4cb9e8f061711b833931b3f4197af5d9a090 (patch)
tree18f0f84ff0a5dcd10b6aed8960309fdce38f8de2 /test/ubsan
parent01a753c9b96979d60e5ec35e3d768d8f9b052261 (diff)
[UBSan] Introduce UBSAN_OPTIONS environment variable.
If UBSan is run in a standalone mode (w/o any other sanitizer), it still uses functions from sanitizer_common, some of which depend on the value of runtime flags. Allow to override the default values of these flags with UBSAN_OPTIONS variable. In particular, UBSAN_OPTIONS=symbolize=0 can be used to turn off online symbolization. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213782 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/ubsan')
-rw-r--r--test/ubsan/TestCases/TypeCheck/Function/function.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/ubsan/TestCases/TypeCheck/Function/function.cpp b/test/ubsan/TestCases/TypeCheck/Function/function.cpp
index 33c2d1c7f..e2f46f2db 100644
--- a/test/ubsan/TestCases/TypeCheck/Function/function.cpp
+++ b/test/ubsan/TestCases/TypeCheck/Function/function.cpp
@@ -1,5 +1,7 @@
// RUN: %clangxx -fsanitize=function %s -O3 -g -o %t
// RUN: %run %t 2>&1 | FileCheck %s
+// Verify that we can disable symbolization if needed:
+// RUN: UBSAN_OPTIONS=symbolize=0 ASAN_OPTIONS=symbolize=0 %run %t 2>&1 | FileCheck %s --check-prefix=NOSYM
#include <stdint.h>
@@ -9,7 +11,9 @@ void g(int x) {}
int main(void) {
// CHECK: runtime error: call to function f() through pointer to incorrect function type 'void (*)(int)'
- // CHECK-NEXT: function.cpp:6: note: f() defined here
+ // CHECK-NEXT: function.cpp:8: note: f() defined here
+ // NOSYM: runtime error: call to function (unknown) through pointer to incorrect function type 'void (*)(int)'
+ // NOSYM-NEXT: ({{.*}}+0x{{.*}}): note: (unknown) defined here
reinterpret_cast<void (*)(int)>(reinterpret_cast<uintptr_t>(f))(42);
// CHECK-NOT: runtime error: call to function g