12d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// Test that dlopen of dynamic runtime is prohibited. 22d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// 32d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: %clangxx %s -DRT=\"%shared_libasan\" -o %t -ldl 42d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: not %run %t 2>&1 | FileCheck %s 52d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// REQUIRES: asan-dynamic-runtime 65d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines// XFAIL: android 72d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 82d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#include <dlfcn.h> 92d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 102d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesint main(int argc, char **argv) { 112d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines dlopen(RT, RTLD_LAZY); 122d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines return 0; 132d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines} 142d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 152d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// CHECK: ASan runtime does not come first in initial library list 16