From efe7828c69a00bf663cf3e03ada15fa9e8409d99 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Mon, 7 Jul 2014 20:37:12 +0000 Subject: [PATCH] [MSan] Use a single file for dso-origin test llvm-svn: 212484 --- compiler-rt/test/msan/SharedLibs/dso-origin-so.cc | 14 --------- compiler-rt/test/msan/SharedLibs/dso-origin.h | 4 --- compiler-rt/test/msan/SharedLibs/lit.local.cfg | 4 --- compiler-rt/test/msan/dso-origin.cc | 35 +++++++++++++++++++---- 4 files changed, 29 insertions(+), 28 deletions(-) delete mode 100644 compiler-rt/test/msan/SharedLibs/dso-origin-so.cc delete mode 100644 compiler-rt/test/msan/SharedLibs/dso-origin.h delete mode 100644 compiler-rt/test/msan/SharedLibs/lit.local.cfg diff --git a/compiler-rt/test/msan/SharedLibs/dso-origin-so.cc b/compiler-rt/test/msan/SharedLibs/dso-origin-so.cc deleted file mode 100644 index 8930a71..0000000 --- a/compiler-rt/test/msan/SharedLibs/dso-origin-so.cc +++ /dev/null @@ -1,14 +0,0 @@ -#include - -#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/compiler-rt/test/msan/SharedLibs/dso-origin.h b/compiler-rt/test/msan/SharedLibs/dso-origin.h deleted file mode 100644 index ff926b3..0000000 --- a/compiler-rt/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/compiler-rt/test/msan/SharedLibs/lit.local.cfg b/compiler-rt/test/msan/SharedLibs/lit.local.cfg deleted file mode 100644 index b3677c1..0000000 --- a/compiler-rt/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/compiler-rt/test/msan/dso-origin.cc b/compiler-rt/test/msan/dso-origin.cc index 9bde029..ba008c0 100644 --- a/compiler-rt/test/msan/dso-origin.cc +++ b/compiler-rt/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 + +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 -#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 -- 2.7.4