The patch addresses https://github.com/google/sanitizers/issues/786. Currently AsanCheckDynamicRTPrereqs prevents dynamic ASan runtime from running in some important environments e.g. cowbuilder and fakeroot that may also work with interposition. Let's allow users to switch off the check given that they know what they do. Differential Revision: https://reviews.llvm.org/D31420 llvm-svn: 299188
18 lines
515 B
C++
18 lines
515 B
C++
// Test that dlopen of dynamic runtime is prohibited.
|
|
//
|
|
// RUN: %clangxx %s -DRT=\"%shared_libasan\" -o %t -ldl
|
|
// RUN: not %run %t 2>&1 | FileCheck %s
|
|
// RUN: %env_asan_opts=verify_asan_link_order=true not %run %t 2>&1 | FileCheck %s
|
|
// RUN: %env_asan_opts=verify_asan_link_order=false %run %t 2>&1
|
|
// REQUIRES: asan-dynamic-runtime
|
|
// XFAIL: android
|
|
|
|
#include <dlfcn.h>
|
|
|
|
int main(int argc, char **argv) {
|
|
dlopen(RT, RTLD_LAZY);
|
|
return 0;
|
|
}
|
|
|
|
// CHECK: ASan runtime does not come first in initial library list
|