diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Fuzzer/CMakeLists.txt | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/llvm/lib/Fuzzer/CMakeLists.txt b/llvm/lib/Fuzzer/CMakeLists.txt index c8d5d02771e..d44c12de3e1 100644 --- a/llvm/lib/Fuzzer/CMakeLists.txt +++ b/llvm/lib/Fuzzer/CMakeLists.txt @@ -11,14 +11,17 @@ if( NOT HAS_THREAD_LOCAL ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dthread_local=__thread") endif() +set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}") +# Disable the coverage and sanitizer instrumentation for the fuzzer itself. +set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror") if( LLVM_USE_SANITIZE_COVERAGE ) - set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}") - - # Disable the coverage and sanitizer instrumentation for the fuzzer itself. - set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror") -endif() - -add_library(LLVMFuzzerNoMainObjects OBJECT + if(NOT "${LLVM_USE_SANITIZER}" STREQUAL "Address") + message(FATAL_ERROR + "LibFuzzer and its tests require LLVM_USE_SANITIZER=Address and " + "LLVM_USE_SANITIZE_COVERAGE=YES to be set." + ) + endif() + add_library(LLVMFuzzerNoMainObjects OBJECT FuzzerCrossOver.cpp FuzzerDriver.cpp FuzzerExtFunctionsDlsym.cpp @@ -42,24 +45,15 @@ add_library(LLVMFuzzerNoMainObjects OBJECT FuzzerUtilPosix.cpp FuzzerUtilWindows.cpp ) -add_library(LLVMFuzzerNoMain STATIC + add_library(LLVMFuzzerNoMain STATIC $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects> ) -target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB}) -add_library(LLVMFuzzer STATIC + target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB}) + add_library(LLVMFuzzer STATIC FuzzerMain.cpp $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects> ) -target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB}) - -if( LLVM_USE_SANITIZE_COVERAGE ) - - if(NOT "${LLVM_USE_SANITIZER}" STREQUAL "Address") - message(FATAL_ERROR - "LibFuzzer tests require LLVM_USE_SANITIZER=Address and " - "LLVM_USE_SANITIZE_COVERAGE=YES to be set." - ) - endif() + target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB}) if( LLVM_INCLUDE_TESTS ) add_subdirectory(test) |

