mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-13 23:18:58 +00:00
5b00f3232b
Newer versions of libstdc++ (4.9+), as well as libc++, depend directly on libpthread from the standard library headers, so libfuzzer needs to declare a standard library dependency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255745 91177308-0d34-0410-b5e6-96231b3b80d8
35 lines
944 B
CMake
35 lines
944 B
CMake
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>
|
|
)
|
|
if( HAVE_LIBPTHREAD )
|
|
target_link_libraries(LLVMFuzzerNoMain pthread)
|
|
endif()
|
|
add_library(LLVMFuzzer STATIC
|
|
FuzzerMain.cpp
|
|
$<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
|
|
)
|
|
if( HAVE_LIBPTHREAD )
|
|
target_link_libraries(LLVMFuzzer pthread)
|
|
endif()
|
|
|
|
if( LLVM_INCLUDE_TESTS )
|
|
add_subdirectory(test)
|
|
endif()
|
|
endif()
|