diff --git a/compiler-rt/test/asan/TestCases/Linux/globals-gc-sections-lld.cpp b/compiler-rt/test/asan/TestCases/Linux/globals-gc-sections-lld.cpp index f6edc7032018a5..24dd1ae5b208fc 100644 --- a/compiler-rt/test/asan/TestCases/Linux/globals-gc-sections-lld.cpp +++ b/compiler-rt/test/asan/TestCases/Linux/globals-gc-sections-lld.cpp @@ -1,10 +1,11 @@ -// RUN: %clangxx_asan %s -o %t -Wl,--gc-sections -fuse-ld=lld -ffunction-sections -fdata-sections -mllvm -asan-globals=0 -// RUN: %clangxx_asan %s -o %t -Wl,--gc-sections -fuse-ld=lld -ffunction-sections -fdata-sections -mllvm -asan-globals=1 +/// Without instrumenting globals, --gc-sections drops the undefined symbol. +// RUN: %clangxx_asan %s -o /dev/null -Wl,--gc-sections -fuse-ld=lld -ffunction-sections -fdata-sections -mllvm -asan-globals=0 +/// With -fsanitize-address-globals-dead-stripping and -fdata-sections, a garbage +/// collectable custom metadata section is used for instrumented globals. +// RUN: %clangxx_asan %s -o /dev/null -Wl,--gc-sections -fuse-ld=lld -ffunction-sections -fdata-sections -fsanitize-address-globals-dead-stripping -// https://code.google.com/p/address-sanitizer/issues/detail?id=260 -// REQUIRES: lld -// FIXME: This may pass on Android, with non-emulated-tls. -// XFAIL: android +// https://github.com/google/sanitizers/issues/260 +// REQUIRES: lld-available int undefined(); // On i386 clang adds --export-dynamic when linking with ASan, which adds all