diff options
author | Thurston Dang <thurston@google.com> | 2024-12-19 01:41:14 +0000 |
---|---|---|
committer | Thurston Dang <thurston@google.com> | 2024-12-19 01:41:14 +0000 |
commit | 60a2f32cf5ce75c9a2511d7fc2b0f24699605912 (patch) | |
tree | 3a99e77c35764eecf0a6da9d4327f2969bdd6b5c /clang | |
parent | f334db92be168876b618db72dc93078ce23ffa89 (diff) | |
download | llvm-60a2f32cf5ce75c9a2511d7fc2b0f24699605912.zip llvm-60a2f32cf5ce75c9a2511d7fc2b0f24699605912.tar.gz llvm-60a2f32cf5ce75c9a2511d7fc2b0f24699605912.tar.bz2 |
Revert "[driver] Fix sanitizer libc++ runtime linking (#120370)"
This reverts commit 9af5de320b77d3757ea2b7e3d85c67f88dfbabb5.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/24/builds/3394/steps/10/logs/stdio)
"Unexpectedly Passed Tests (1):
llvm-libc++-shared.cfg.in :: libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp"
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Driver/SanitizerArgs.cpp | 9 | ||||
-rw-r--r-- | clang/test/Driver/sanitizer-ld.c | 83 |
2 files changed, 14 insertions, 78 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp index 0edfe64..81f94f2 100644 --- a/clang/lib/Driver/SanitizerArgs.cpp +++ b/clang/lib/Driver/SanitizerArgs.cpp @@ -1098,11 +1098,10 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC, options::OPT_fno_sanitize_link_runtime, LinkRuntimes); // Parse -link-cxx-sanitizer flag. - LinkCXXRuntimes = - D.CCCIsCXX() && !Args.hasArg(clang::driver::options::OPT_nostdlibxx); - LinkCXXRuntimes = - Args.hasFlag(options::OPT_fsanitize_link_cxx_runtime, - options::OPT_fno_sanitize_link_cxx_runtime, LinkCXXRuntimes); + LinkCXXRuntimes = Args.hasArg(options::OPT_fsanitize_link_cxx_runtime, + options::OPT_fno_sanitize_link_cxx_runtime, + LinkCXXRuntimes) || + D.CCCIsCXX(); NeedsMemProfRt = Args.hasFlag(options::OPT_fmemory_profile, options::OPT_fmemory_profile_EQ, diff --git a/clang/test/Driver/sanitizer-ld.c b/clang/test/Driver/sanitizer-ld.c index 3d55bd3..60d60a6 100644 --- a/clang/test/Driver/sanitizer-ld.c +++ b/clang/test/Driver/sanitizer-ld.c @@ -132,81 +132,18 @@ // RUN: -resource-dir=%S/Inputs/empty_resource_dir \ // RUN: --sysroot=%S/Inputs/basic_linux_tree \ // RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-CXX %s - -// RUN: %clangxx -### %s 2>&1 \ -// RUN: --target=i386-unknown-linux -fuse-ld=ld -stdlib=platform -fsanitize=address \ -// RUN: -resource-dir=%S/Inputs/empty_resource_dir \ -// RUN: --sysroot=%S/Inputs/basic_linux_tree \ -// RUN: -fsanitize-link-c++-runtime \ -// RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-CXX %s - +// +// CHECK-ASAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" // CHECK-ASAN-LINUX-CXX-NOT: "-lc" +// CHECK-ASAN-LINUX-CXX: "--whole-archive" "{{.*}}libclang_rt.asan.a" "--no-whole-archive" +// CHECK-ASAN-LINUX-CXX: "--whole-archive" "{{.*}}libclang_rt.asan_cxx.a" "--no-whole-archive" // CHECK-ASAN-LINUX-CXX-NOT: "--dynamic-list" -// CHECK-ASAN-LINUX-CXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" -// CHECK-ASAN-LINUX-CXX-SAME: "--whole-archive" "{{.*}}libclang_rt.asan.a" "--no-whole-archive" -// CHECK-ASAN-LINUX-CXX-SAME: "--whole-archive" "{{.*}}libclang_rt.asan_cxx.a" "--no-whole-archive" -// CHECK-ASAN-LINUX-CXX-SAME: "--export-dynamic" -// CHECK-ASAN-LINUX-CXX-SAME: stdc++ -// CHECK-ASAN-LINUX-CXX-SAME: "-lpthread" -// CHECK-ASAN-LINUX-CXX-SAME: "-lrt" -// CHECK-ASAN-LINUX-CXX-SAME: "-ldl" -// CHECK-ASAN-LINUX-CXX-SAME: "-lresolv" - -// RUN: %clang -### %s 2>&1 \ -// RUN: --target=i386-unknown-linux -fuse-ld=ld -stdlib=platform -fsanitize=address \ -// RUN: -resource-dir=%S/Inputs/empty_resource_dir \ -// RUN: --sysroot=%S/Inputs/basic_linux_tree \ -// RUN: -fno-sanitize-link-c++-runtime \ -// RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-CNOCXX %s - -// CHECK-ASAN-LINUX-CNOCXX-NOT: "-lc" -// CHECK-ASAN-LINUX-CNOCXX-NOT: libclang_rt.asan_cxx -// CHECK-ASAN-LINUX-CNOCXX-NOT: "--dynamic-list" -// CHECK-ASAN-LINUX-CNOCXX-NOT: stdc++ -// CHECK-ASAN-LINUX-CNOCXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" -// CHECK-ASAN-LINUX-CNOCXX-SAME: "--whole-archive" "{{.*}}libclang_rt.asan.a" "--no-whole-archive" -// CHECK-ASAN-LINUX-CNOCXX-SAME: "--export-dynamic" -// CHECK-ASAN-LINUX-CNOCXX-SAME: "-lpthread" -// CHECK-ASAN-LINUX-CNOCXX-SAME: "-lrt" -// CHECK-ASAN-LINUX-CNOCXX-SAME: "-ldl" -// CHECK-ASAN-LINUX-CNOCXX-SAME: "-lresolv" - -// RUN: %clangxx -### %s 2>&1 \ -// RUN: --target=i386-unknown-linux -fuse-ld=ld -stdlib=platform -fsanitize=address \ -// RUN: -resource-dir=%S/Inputs/empty_resource_dir \ -// RUN: --sysroot=%S/Inputs/basic_linux_tree \ -// RUN: -fno-sanitize-link-c++-runtime \ -// RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-NOCXX %s - -// CHECK-ASAN-LINUX-NOCXX-NOT: "-lc" -// CHECK-ASAN-LINUX-NOCXX-NOT: libclang_rt.asan_cxx -// CHECK-ASAN-LINUX-NOCXX-NOT: "--dynamic-list" -// CHECK-ASAN-LINUX-NOCXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" -// CHECK-ASAN-LINUX-NOCXX-SAME: "--whole-archive" "{{.*}}libclang_rt.asan.a" "--no-whole-archive" -// CHECK-ASAN-LINUX-NOCXX-SAME: "--export-dynamic" -// CHECK-ASAN-LINUX-NOCXX-SAME: stdc++ -// CHECK-ASAN-LINUX-NOCXX-SAME: "-lpthread" -// CHECK-ASAN-LINUX-NOCXX-SAME: "-lrt" -// CHECK-ASAN-LINUX-NOCXX-SAME: "-ldl" -// CHECK-ASAN-LINUX-NOCXX-SAME: "-lresolv" - -// RUN: %clangxx -### %s 2>&1 \ -// RUN: --target=i386-unknown-linux -fuse-ld=ld -stdlib=platform -fsanitize=address \ -// RUN: -resource-dir=%S/Inputs/empty_resource_dir \ -// RUN: --sysroot=%S/Inputs/basic_linux_tree \ -// RUN: -nostdlib++ \ -// RUN: | FileCheck --check-prefix=CHECK-ASAN-LINUX-NOSTDCXX %s - -// CHECK-ASAN-LINUX-NOSTDCXX-NOT: "-lc" -// CHECK-ASAN-LINUX-NOSTDCXX-NOT: libclang_rt.asan_cxx -// CHECK-ASAN-LINUX-NOSTDCXX-NOT: "--dynamic-list" -// CHECK-ASAN-LINUX-NOSTDCXX: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" -// CHECK-ASAN-LINUX-NOSTDCXX-SAME: "--whole-archive" "{{.*}}libclang_rt.asan.a" "--no-whole-archive" -// CHECK-ASAN-LINUX-NOSTDCXX-SAME: "--export-dynamic" -// CHECK-ASAN-LINUX-NOSTDCXX-SAME: "-lpthread" -// CHECK-ASAN-LINUX-NOSTDCXX-SAME: "-lrt" -// CHECK-ASAN-LINUX-NOSTDCXX-SAME: "-ldl" -// CHECK-ASAN-LINUX-NOSTDCXX-SAME: "-lresolv" +// CHECK-ASAN-LINUX-CXX: "--export-dynamic" +// CHECK-ASAN-LINUX-CXX: stdc++ +// CHECK-ASAN-LINUX-CXX: "-lpthread" +// CHECK-ASAN-LINUX-CXX: "-lrt" +// CHECK-ASAN-LINUX-CXX: "-ldl" +// CHECK-ASAN-LINUX-CXX: "-lresolv" // RUN: %clang -### %s -o /dev/null -fsanitize=address \ // RUN: --target=i386-unknown-linux -fuse-ld=ld -stdlib=platform \ |