diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2014-07-07 20:37:12 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2014-07-07 20:37:12 +0000 |
commit | 6830baf39812d29c13be8c73cba8d842eebe80c2 (patch) | |
tree | b96bc384a8ca0d95f6aa4422a9ed59db56835bcc /test/msan | |
parent | e6282c9c2e73c165b72bc17cf2ba48defcec8e90 (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.cc | 14 | ||||
-rw-r--r-- | test/msan/SharedLibs/dso-origin.h | 4 | ||||
-rw-r--r-- | test/msan/SharedLibs/lit.local.cfg | 4 | ||||
-rw-r--r-- | test/msan/dso-origin.cc | 35 |
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 |