=?utf-8?q?Björn?= Svensson <[email protected]>,
=?utf-8?q?Björn?= Svensson <[email protected]>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/[email protected]>


================
@@ -43,6 +43,12 @@
 // 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 sanitizer dependencies when dynamically linking
+// the sanitizer runtime (e.g. libFuzzer uses ceilf in libm).
----------------
DanBlackwell wrote:

So from a bit of digging, it seems that if building with coverage then UBSan 
gets added: 
https://github.com/llvm/llvm-project/blob/46c34bec134be0cb606fba1affbc70920b4fc266/clang/lib/Driver/SanitizerArgs.cpp#L366

which is a static runtime, and thus triggers linking the necessary libraries. I 
guess that adding `-shared-libsan` means you're back to having no static libs, 
and then no dependencies get linked.

https://github.com/llvm/llvm-project/pull/164842
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to