r306734 - [libFuzzer] Add Fuzzer to the list of sanitizers which support coverage.
George Karpenkov via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 29 12:58:21 PDT 2017
Author: george.karpenkov
Date: Thu Jun 29 12:58:20 2017
New Revision: 306734
URL: http://llvm.org/viewvc/llvm-project?rev=306734&view=rev
Log:
[libFuzzer] Add Fuzzer to the list of sanitizers which support coverage.
Without this change, additional coverage flags specified after
-fsanitize=fuzzer would get discarded.
https://reviews.llvm.org/D34794
Modified:
cfe/trunk/lib/Driver/SanitizerArgs.cpp
cfe/trunk/test/Driver/fuzzer.c
Modified: cfe/trunk/lib/Driver/SanitizerArgs.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/SanitizerArgs.cpp?rev=306734&r1=306733&r2=306734&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/SanitizerArgs.cpp (original)
+++ cfe/trunk/lib/Driver/SanitizerArgs.cpp Thu Jun 29 12:58:20 2017
@@ -32,7 +32,7 @@ enum : SanitizerMask {
RequiresPIE = DataFlow,
NeedsUnwindTables = Address | Thread | Memory | DataFlow,
SupportsCoverage = Address | KernelAddress | Memory | Leak | Undefined |
- Integer | Nullability | DataFlow,
+ Integer | Nullability | DataFlow | Fuzzer,
RecoverableByDefault = Undefined | Integer | Nullability,
Unrecoverable = Unreachable | Return,
LegacyFsanitizeRecoverMask = Undefined | Integer,
Modified: cfe/trunk/test/Driver/fuzzer.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fuzzer.c?rev=306734&r1=306733&r2=306734&view=diff
==============================================================================
--- cfe/trunk/test/Driver/fuzzer.c (original)
+++ cfe/trunk/test/Driver/fuzzer.c Thu Jun 29 12:58:20 2017
@@ -15,10 +15,14 @@
//
// CHECK-LIBCXX-DARWIN: -lc++
+
// Check that we don't link in libFuzzer.a when producing a shared object.
// RUN: %clang -fsanitize=fuzzer %s -shared -o %t.so -### 2>&1 | FileCheck --check-prefixes=CHECK-NOLIB-SO %s
// CHECK-NOLIB-SO-NOT: libLLVMFuzzer.a
+// RUN: %clang -fsanitize=fuzzer -fsanitize-coverage=trace-pc %s -### 2>&1 | FileCheck --check-prefixes=CHECK-MSG %s
+// CHECK-MSG-NOT: argument unused during compilation
+
int LLVMFuzzerTestOneInput(const char *Data, long Size) {
return 0;
}
More information about the cfe-commits
mailing list