diff options
| author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-10-05 20:00:07 +0000 | 
|---|---|---|
| committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-10-05 20:00:07 +0000 | 
| commit | 3b87cc910e934fc3d610b523b71d09c3f69ad5f0 (patch) | |
| tree | 8a3ae3571172fd051bd310fcdc8cbb9a526cfdcc | |
| parent | 5f689d0db3b8dc47eea5479265126d0ae743d6b7 (diff) | |
| download | bcm5719-llvm-3b87cc910e934fc3d610b523b71d09c3f69ad5f0.tar.gz bcm5719-llvm-3b87cc910e934fc3d610b523b71d09c3f69ad5f0.zip  | |
[sanitizer] Move %ld_flags_rpath_exe to common and use it in more tests.
Reviewers: vitalybuka
Subscribers: kubamracek, llvm-commits
Differential Revision: https://reviews.llvm.org/D38527
llvm-svn: 315010
| -rw-r--r-- | compiler-rt/test/asan/lit.cfg | 15 | ||||
| -rw-r--r-- | compiler-rt/test/cfi/target_uninstrumented.cpp | 6 | ||||
| -rw-r--r-- | compiler-rt/test/lit.common.cfg | 15 | ||||
| -rw-r--r-- | compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp | 4 | 
4 files changed, 20 insertions, 20 deletions
diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg index 213693e6ff8..fc8daaaf0f5 100644 --- a/compiler-rt/test/asan/lit.cfg +++ b/compiler-rt/test/asan/lit.cfg @@ -178,21 +178,6 @@ config.substitutions.append( ("%libdl", libdl_flag) )  config.available_features.add("asan-" + config.bits + "-bits") -if config.host_os == 'Darwin': -  config.substitutions.append( ("%ld_flags_rpath_exe", '-Wl,-rpath,@executable_path/ %dynamiclib') ) -  config.substitutions.append( ("%ld_flags_rpath_so", '-install_name @rpath/`basename %dynamiclib`') ) -elif config.host_os == 'FreeBSD': -  config.substitutions.append( ("%ld_flags_rpath_exe", "-Wl,-z,origin -Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec") ) -  config.substitutions.append( ("%ld_flags_rpath_so", '') ) -elif config.host_os == 'Linux': -  config.substitutions.append( ("%ld_flags_rpath_exe", "-Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec") ) -  config.substitutions.append( ("%ld_flags_rpath_so", '') ) - -# Must be defined after the substitutions that use %dynamiclib. -config.substitutions.append( ("%dynamiclib", '%T/%xdynamiclib_filename') ) -config.substitutions.append( ("%xdynamiclib_filename", 'lib%xdynamiclib_namespec.so') ) -config.substitutions.append( ("%xdynamiclib_namespec", '%basename_t.dynamic') ) -  # Allow tests to use REQUIRES=stable-runtime.  For use when you cannot use XFAIL  # because the test hangs. Adding armhf as we now have two modes.  if config.target_arch != 'arm' and config.target_arch != 'armhf' and config.target_arch != 'aarch64': diff --git a/compiler-rt/test/cfi/target_uninstrumented.cpp b/compiler-rt/test/cfi/target_uninstrumented.cpp index b2a1ad74aad..5df0738c078 100644 --- a/compiler-rt/test/cfi/target_uninstrumented.cpp +++ b/compiler-rt/test/cfi/target_uninstrumented.cpp @@ -1,5 +1,5 @@ -// RUN: %clangxx -g -DSHARED_LIB %s -fPIC -shared -o %T/target_uninstrumented-so.so -// RUN: %clangxx_cfi_diag -g %s -o %t %T/target_uninstrumented-so.so +// RUN: %clangxx -g -DSHARED_LIB %s -fPIC -shared -o %dynamiclib %ld_flags_rpath_so +// RUN: %clangxx_cfi_diag -g %s -o %t %ld_flags_rpath_exe  // RUN: %run %t 2>&1 | FileCheck %s  // REQUIRES: cxxabi @@ -32,7 +32,7 @@ void A::f() {}  int main(int argc, char *argv[]) {    void *p = create_B();    // CHECK: runtime error: control flow integrity check for type 'A' failed during cast to unrelated type -  // CHECK: invalid vtable in module {{.*}}target_uninstrumented-so.so +  // CHECK: invalid vtable in module {{.*}}libtarget_uninstrumented.cpp.dynamic.so    A *a = (A *)p;    memset(p, 0, sizeof(A));    // CHECK: runtime error: control flow integrity check for type 'A' failed during cast to unrelated type diff --git a/compiler-rt/test/lit.common.cfg b/compiler-rt/test/lit.common.cfg index 5667e12a2ad..dc1a6034f1e 100644 --- a/compiler-rt/test/lit.common.cfg +++ b/compiler-rt/test/lit.common.cfg @@ -280,3 +280,18 @@ if platform.system() == 'Windows':  # of large mmap'd regions (terabytes) by the kernel.  if platform.system() == 'Darwin':    lit_config.parallelism_groups["darwin-64bit-sanitizer"] = 3 + +if config.host_os == 'Darwin': +  config.substitutions.append( ("%ld_flags_rpath_exe", '-Wl,-rpath,@executable_path/ %dynamiclib') ) +  config.substitutions.append( ("%ld_flags_rpath_so", '-install_name @rpath/`basename %dynamiclib`') ) +elif config.host_os == 'FreeBSD': +  config.substitutions.append( ("%ld_flags_rpath_exe", "-Wl,-z,origin -Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec") ) +  config.substitutions.append( ("%ld_flags_rpath_so", '') ) +elif config.host_os == 'Linux': +  config.substitutions.append( ("%ld_flags_rpath_exe", "-Wl,-rpath,\$ORIGIN -L%T -l%xdynamiclib_namespec") ) +  config.substitutions.append( ("%ld_flags_rpath_so", '') ) + +# Must be defined after the substitutions that use %dynamiclib. +config.substitutions.append( ("%dynamiclib", '%T/%xdynamiclib_filename') ) +config.substitutions.append( ("%xdynamiclib_filename", 'lib%xdynamiclib_namespec.so') ) +config.substitutions.append( ("%xdynamiclib_namespec", '%basename_t.dynamic') ) diff --git a/compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp b/compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp index e8d51069474..7bc19bdae8f 100644 --- a/compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp +++ b/compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp @@ -1,5 +1,5 @@ -// RUN: %clangxx -frtti -fsanitize=vptr -fno-sanitize-recover=vptr -I%p/Helpers -g %s -fPIC -shared -o %t-lib.so -DBUILD_SO -// RUN: %clangxx -frtti -fsanitize=vptr -fno-sanitize-recover=vptr -I%p/Helpers -g %s -O3 -o %t %t-lib.so +// RUN: %clangxx -frtti -fsanitize=vptr -fno-sanitize-recover=vptr -I%p/Helpers -g %s -fPIC -shared -o %dynamiclib -DBUILD_SO %ld_flags_rpath_so +// RUN: %clangxx -frtti -fsanitize=vptr -fno-sanitize-recover=vptr -I%p/Helpers -g %s -O3 -o %t %ld_flags_rpath_exe  // RUN: %run %t  //  // REQUIRES: cxxabi  | 

