summaryrefslogtreecommitdiff
path: root/test/msan
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2014-07-07 20:37:12 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2014-07-07 20:37:12 +0000
commit6830baf39812d29c13be8c73cba8d842eebe80c2 (patch)
treeb96bc384a8ca0d95f6aa4422a9ed59db56835bcc /test/msan
parente6282c9c2e73c165b72bc17cf2ba48defcec8e90 (diff)
[MSan] Use a single file for dso-origin test
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@212484 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/msan')
-rw-r--r--test/msan/SharedLibs/dso-origin-so.cc14
-rw-r--r--test/msan/SharedLibs/dso-origin.h4
-rw-r--r--test/msan/SharedLibs/lit.local.cfg4
-rw-r--r--test/msan/dso-origin.cc35
4 files changed, 29 insertions, 28 deletions
diff --git a/test/msan/SharedLibs/dso-origin-so.cc b/test/msan/SharedLibs/dso-origin-so.cc
deleted file mode 100644
index 8930a7159..000000000
--- a/test/msan/SharedLibs/dso-origin-so.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdlib.h>
-
-#include "dso-origin.h"
-
-void my_access(int *p) {
- volatile int tmp;
- // Force initialize-ness check.
- if (*p)
- tmp = 1;
-}
-
-void *my_alloc(unsigned sz) {
- return malloc(sz);
-}
diff --git a/test/msan/SharedLibs/dso-origin.h b/test/msan/SharedLibs/dso-origin.h
deleted file mode 100644
index ff926b3f6..000000000
--- a/test/msan/SharedLibs/dso-origin.h
+++ /dev/null
@@ -1,4 +0,0 @@
-extern "C" {
-void my_access(int *p);
-void *my_alloc(unsigned sz);
-}
diff --git a/test/msan/SharedLibs/lit.local.cfg b/test/msan/SharedLibs/lit.local.cfg
deleted file mode 100644
index b3677c17a..000000000
--- a/test/msan/SharedLibs/lit.local.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-# Sources in this directory are compiled as shared libraries and used by
-# tests in parent directory.
-
-config.suffixes = []
diff --git a/test/msan/dso-origin.cc b/test/msan/dso-origin.cc
index 9bde029a9..ba008c007 100644
--- a/test/msan/dso-origin.cc
+++ b/test/msan/dso-origin.cc
@@ -1,12 +1,33 @@
// Build a library with origin tracking and an executable w/o origin tracking.
// Test that origin tracking is enabled at runtime.
-// RUN: %clangxx_msan -fsanitize-memory-track-origins -m64 -O0 %p/SharedLibs/dso-origin-so.cc \
-// RUN: -fPIC -shared -o %t-so.so
+// RUN: %clangxx_msan -fsanitize-memory-track-origins -m64 -O0 %s -DBUILD_SO -fPIC -shared -o %t-so.so
// RUN: %clangxx_msan -m64 -O0 %s %t-so.so -o %t && not %run %t 2>&1 | FileCheck %s
+#ifdef BUILD_SO
+
+#include <stdlib.h>
+
+extern "C" {
+void my_access(int *p) {
+ volatile int tmp;
+ // Force initialize-ness check.
+ if (*p)
+ tmp = 1;
+}
+
+void *my_alloc(unsigned sz) {
+ return malloc(sz);
+}
+} // extern "C"
+
+#else // BUILD_SO
+
#include <stdlib.h>
-#include "SharedLibs/dso-origin.h"
+extern "C" {
+void my_access(int *p);
+void *my_alloc(unsigned sz);
+}
int main(int argc, char **argv) {
int *x = (int *)my_alloc(sizeof(int));
@@ -14,12 +35,14 @@ int main(int argc, char **argv) {
delete x;
// CHECK: WARNING: MemorySanitizer: use-of-uninitialized-value
- // CHECK: {{#0 0x.* in my_access .*dso-origin-so.cc:}}
+ // CHECK: {{#0 0x.* in my_access .*dso-origin.cc:}}
// CHECK: {{#1 0x.* in main .*dso-origin.cc:}}[[@LINE-5]]
// CHECK: Uninitialized value was created by a heap allocation
// CHECK: {{#0 0x.* in .*malloc}}
- // CHECK: {{#1 0x.* in my_alloc .*dso-origin-so.cc:}}
+ // CHECK: {{#1 0x.* in my_alloc .*dso-origin.cc:}}
// CHECK: {{#2 0x.* in main .*dso-origin.cc:}}[[@LINE-10]]
- // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*dso-origin-so.cc:.* my_access}}
+ // CHECK: SUMMARY: MemorySanitizer: use-of-uninitialized-value {{.*dso-origin.cc:.* my_access}}
return 0;
}
+
+#endif // BUILD_SO