https://github.com/bjosv created https://github.com/llvm/llvm-project/pull/180699
Reverts llvm/llvm-project#164842 From 93096b8f1fdd6489f39adc22bc343aa87dd59ac9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Svensson?= <[email protected]> Date: Tue, 10 Feb 2026 09:04:01 +0100 Subject: [PATCH] =?UTF-8?q?Revert=20"[clang][driver]=20Correcting=20argume?= =?UTF-8?q?nts=20when=20using=20`libFuzzer`=20with=20`-sh=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 55d6c6ff5802efcfc2ab9643316d9670eb29e790. --- clang/lib/Driver/ToolChains/CommonArgs.cpp | 11 +++-------- clang/test/Driver/fuzzer.c | 12 +----------- clang/test/Driver/sanitizer-ld.c | 8 -------- 3 files changed, 4 insertions(+), 27 deletions(-) diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index a09c3db42b423..aea4bd95fefeb 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1751,17 +1751,11 @@ bool tools::addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, CmdArgs.push_back(Args.MakeArgString(S)); } - // Add shared runtimes before adding fuzzer and its dependencies. - for (auto RT : SharedRuntimes) - addSanitizerRuntime(TC, Args, CmdArgs, RT, true, false); - // Inject libfuzzer dependencies. - bool FuzzerNeedsSanitizerDeps = false; if (SanArgs.needsFuzzer() && SanArgs.linkRuntimes() && !Args.hasArg(options::OPT_shared)) { addSanitizerRuntime(TC, Args, CmdArgs, "fuzzer", false, true); - FuzzerNeedsSanitizerDeps = true; if (SanArgs.needsFuzzerInterceptors()) addSanitizerRuntime(TC, Args, CmdArgs, "fuzzer_interceptors", false, true); @@ -1776,6 +1770,8 @@ bool tools::addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, } } + for (auto RT : SharedRuntimes) + addSanitizerRuntime(TC, Args, CmdArgs, RT, true, false); for (auto RT : HelperStaticRuntimes) addSanitizerRuntime(TC, Args, CmdArgs, RT, false, true); bool AddExportDynamic = false; @@ -1808,8 +1804,7 @@ bool tools::addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, CmdArgs.push_back("--android-memtag-stack"); } - return !StaticRuntimes.empty() || !NonWholeStaticRuntimes.empty() || - FuzzerNeedsSanitizerDeps; + return !StaticRuntimes.empty() || !NonWholeStaticRuntimes.empty(); } bool tools::addXRayRuntime(const ToolChain&TC, const ArgList &Args, ArgStringList &CmdArgs) { diff --git a/clang/test/Driver/fuzzer.c b/clang/test/Driver/fuzzer.c index 716ea9db9d8a6..409fbfac8ce1d 100644 --- a/clang/test/Driver/fuzzer.c +++ b/clang/test/Driver/fuzzer.c @@ -26,7 +26,7 @@ // CHECK-NOLIB-NOT: libclang_rt.libfuzzer // CHECK-COV: -fsanitize-coverage-inline-8bit-counters -// Check that we respect whether the standard library should be linked. +// Check that we respect whether thes tandard library should be linked // statically. // // RUN: %clang -fsanitize=fuzzer --target=i386-unknown-linux -stdlib=libstdc++ %s -### 2>&1 | FileCheck --check-prefixes=CHECK-LIBSTDCXX-DYNAMIC %s @@ -43,16 +43,6 @@ // RUN: %clang -fsanitize=fuzzer --target=i386-unknown-linux -stdlib=libc++ -static-libstdc++ %s -### 2>&1 | FileCheck --check-prefixes=CHECK-LIBCXX-STATIC %s // CHECK-LIBCXX-STATIC: "-Bstatic" "-lc++" -// Check that we add required dependencies when linking the sanitizer runtime -// (e.g. libFuzzer uses sqrt in libm). -// -// RUN: %clang -fsanitize=fuzzer -shared-libsan --target=x86_64-linux-gnu %s -### 2>&1 | FileCheck --check-prefixes=CHECK-SHARED-LIBSAN %s -// CHECK-SHARED-LIBSAN: -lm -// RUN: %clang -fsanitize=fuzzer -static-libsan --target=x86_64-linux-gnu %s -### 2>&1 | FileCheck --check-prefixes=CHECK-STATIC-LIBSAN %s -// CHECK-STATIC-LIBSAN: -lm -// RUN: %clang -fsanitize=fuzzer --target=x86_64-linux-gnu %s -### 2>&1 | FileCheck --check-prefixes=CHECK-DEFAULT-LIBSAN %s -// CHECK-DEFAULT-LIBSAN: -lm - int LLVMFuzzerTestOneInput(const char *Data, long Size) { return 0; } diff --git a/clang/test/Driver/sanitizer-ld.c b/clang/test/Driver/sanitizer-ld.c index 93fb69d639350..ac1851286af63 100644 --- a/clang/test/Driver/sanitizer-ld.c +++ b/clang/test/Driver/sanitizer-ld.c @@ -1393,11 +1393,3 @@ // RUN: | %{filecheck} --check-prefix=CHECK-RELOCATABLE-LINK-TSAN-RTLIB // // CHECK-RELOCATABLE-LINK-TSAN-RTLIB-NOT: "{{.*}}tsan{{.*}}" - -// RUN: %clang -fsanitize=fuzzer,address -shared-libsan -### %s 2>&1 \ -// RUN: --target=x86_64-unknown-linux -fuse-ld=ld \ -// RUN: -resource-dir=%S/Inputs/resource_dir \ -// RUN: --sysroot=%S/Inputs/basic_linux_tree \ -// RUN: | FileCheck %s --check-prefix=CHECK-FUZZER-WITH-SHARED-ASAN-ORDER -// -// CHECK-FUZZER-WITH-SHARED-ASAN-ORDER: "{{.*}}libclang_rt.asan.so" "--whole-archive" "{{.*}}libclang_rt.fuzzer.a" "--no-whole-archive" "-lstdc++" _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
