# basic blocks and we'll fail to discover the targets.
# Also enable the coverage instrumentation back (it is disabled
# for the Fuzzer lib)
-set(CMAKE_CXX_FLAGS_RELEASE "${LIBFUZZER_FLAGS_BASE} -O0 -fsanitize-coverage=4")
+set(CMAKE_CXX_FLAGS_RELEASE "${LIBFUZZER_FLAGS_BASE} -O0 -fsanitize-coverage=edge,indirect-calls")
+
+set(DFSanTests
+ DFSanMemcmpTest
+ DFSanSimpleCmpTest
+ )
set(Tests
CounterTest
NullDerefTest
SimpleTest
TimeoutTest
+ ${DFSanTests}
)
-set(DFSanTests
- DFSanSimpleCmpTest
+set(CustomMainTests
+ UserSuppliedFuzzerTest
)
+
set(TestBinaries)
foreach(Test ${Tests})
set(TestBinaries ${TestBinaries} LLVMFuzzer-${Test})
endforeach()
+foreach(Test ${CustomMainTests})
+ add_executable(LLVMFuzzer-${Test}
+ ${Test}.cpp
+ )
+ target_link_libraries(LLVMFuzzer-${Test}
+ LLVMFuzzerNoMain
+ )
+ set(TestBinaries ${TestBinaries} LLVMFuzzer-${Test})
+endforeach()
+
+
configure_lit_site_cfg(
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
add_executable(LLVMFuzzer-Unittest
FuzzerUnittest.cpp
- $<TARGET_OBJECTS:LLVMFuzzerNoMain>
+ $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
)
target_link_libraries(LLVMFuzzer-Unittest
add_subdirectory(dfsan)
foreach(Test ${DFSanTests})
- set(TestBinaries ${TestBinaries} LLVMFuzzer-${Test})
+ set(TestBinaries ${TestBinaries} LLVMFuzzer-${Test}-DFSan)
endforeach()