[libFuzzer] ensure that the dfsan tracing hooks actually run (using -verbosity=3...
[oota-llvm.git] / lib / Fuzzer / CMakeLists.txt
index 02370c966aff7742eab168d5ab47693de6261e5c..8b4d61905d00a154a9ee36207cba4f8de344bb7f 100644 (file)
@@ -1,17 +1,25 @@
-# Disable the coverage instrumentation for the fuzzer itself.
-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fsanitize-coverage=0")
-if( LLVM_USE_SANITIZE_COVERAGE  )
-  add_library(LLVMFuzzerNoMain OBJECT
+set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS_RELEASE}")
+# Disable the coverage and sanitizer instrumentation for the fuzzer itself.
+set(CMAKE_CXX_FLAGS_RELEASE "${LIBFUZZER_FLAGS_BASE} -O2 -fno-sanitize=all")
+if( LLVM_USE_SANITIZE_COVERAGE )
+  add_library(LLVMFuzzerNoMainObjects OBJECT
     FuzzerCrossOver.cpp
+    FuzzerInterface.cpp
+    FuzzerTraceState.cpp
+    FuzzerDriver.cpp
     FuzzerIO.cpp
     FuzzerLoop.cpp
     FuzzerMutate.cpp
     FuzzerSanitizerOptions.cpp
+    FuzzerSHA1.cpp
     FuzzerUtil.cpp
     )
+  add_library(LLVMFuzzerNoMain STATIC
+    $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
+    )
   add_library(LLVMFuzzer STATIC
     FuzzerMain.cpp
-    $<TARGET_OBJECTS:LLVMFuzzerNoMain>
+    $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
     )
 
   if( LLVM_INCLUDE_TESTS )