From 91e559065380b4c4dd704dcb7a49bed0edcb0aed Mon Sep 17 00:00:00 2001 From: George Karpenkov Date: Wed, 23 Aug 2017 00:40:58 +0000 Subject: [PATCH] Update LLVM fuzzers to use the libFuzzer bundled with the compiler toolchain Differential Revision: https://reviews.llvm.org/D37041 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311515 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/HandleLLVMOptions.cmake | 2 +- tools/llvm-as-fuzzer/CMakeLists.txt | 7 +++---- tools/llvm-dwarfdump/fuzzer/CMakeLists.txt | 6 ++---- tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp | 6 +++++- tools/llvm-mc-assemble-fuzzer/CMakeLists.txt | 9 +++------ .../llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp | 1 - tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt | 9 ++------- .../llvm-mc-disassemble-fuzzer.cpp | 1 - 8 files changed, 16 insertions(+), 25 deletions(-) diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 5efdb0f8a27..04596a6ff63 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -664,7 +664,7 @@ if(LLVM_USE_SANITIZER) FSANITIZE_USE_AFTER_SCOPE_FLAG) endif() if (LLVM_USE_SANITIZE_COVERAGE) - append("-fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + append("-fsanitize=fuzzer-no-link" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) endif() endif() diff --git a/tools/llvm-as-fuzzer/CMakeLists.txt b/tools/llvm-as-fuzzer/CMakeLists.txt index ff9bdaaf4c4..93b1cc1cb4c 100644 --- a/tools/llvm-as-fuzzer/CMakeLists.txt +++ b/tools/llvm-as-fuzzer/CMakeLists.txt @@ -1,13 +1,12 @@ if( LLVM_USE_SANITIZE_COVERAGE ) + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") set(LLVM_LINK_COMPONENTS AsmParser BitWriter Core Support ) - add_llvm_tool(llvm-as-fuzzer + add_llvm_tool(llvm-as-fuzzer llvm-as-fuzzer.cpp) - target_link_libraries(llvm-as-fuzzer - LLVMFuzzer - ) endif() diff --git a/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt b/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt index 1de35a3de47..a8c49e329e1 100644 --- a/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt +++ b/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt @@ -4,11 +4,9 @@ set(LLVM_LINK_COMPONENTS Support ) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") + add_llvm_executable(llvm-dwarfdump-fuzzer EXCLUDE_FROM_ALL llvm-dwarfdump-fuzzer.cpp ) - -target_link_libraries(llvm-dwarfdump-fuzzer - LLVMFuzzer - ) diff --git a/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp b/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp index 12ed77f6da6..2dcccb0b075 100644 --- a/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp +++ b/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp @@ -32,5 +32,9 @@ extern "C" void LLVMFuzzerTestOneInput(uint8_t *data, size_t size) { } ObjectFile &Obj = *ObjOrErr.get(); std::unique_ptr DICtx = DWARFContext::create(Obj); - DICtx->dump(nulls(), DIDT_All); + + + DIDumpOptions opts; + opts.DumpType = DIDT_All; + DICtx->dump(nulls(), opts); } diff --git a/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt b/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt index c5fb62166cf..9edc245759b 100644 --- a/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt +++ b/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt @@ -1,6 +1,5 @@ if( LLVM_USE_SANITIZE_COVERAGE ) - include_directories(BEFORE - ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/Fuzzer) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") set(LLVM_LINK_COMPONENTS AllTargetsAsmPrinters @@ -11,9 +10,7 @@ if( LLVM_USE_SANITIZE_COVERAGE ) MCParser Support ) - add_llvm_tool(llvm-mc-assemble-fuzzer + + add_llvm_tool(llvm-mc-assemble-fuzzer llvm-mc-assemble-fuzzer.cpp) - target_link_libraries(llvm-mc-assemble-fuzzer - LLVMFuzzer - ) endif() diff --git a/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp b/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp index 0344d8cd8c9..015f1edd93f 100644 --- a/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp +++ b/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp @@ -9,7 +9,6 @@ // //===----------------------------------------------------------------------===// -#include "FuzzerInterface.h" #include "llvm-c/Target.h" #include "llvm/MC/SubtargetFeature.h" #include "llvm/MC/MCAsmBackend.h" diff --git a/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt b/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt index c539f823e57..4371cf68a73 100644 --- a/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt +++ b/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt @@ -1,7 +1,6 @@ if( LLVM_USE_SANITIZE_COVERAGE ) - include_directories(BEFORE - ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/Fuzzer) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") set(LLVM_LINK_COMPONENTS AllTargetsAsmPrinters AllTargetsDescs @@ -12,10 +11,6 @@ if( LLVM_USE_SANITIZE_COVERAGE ) MCParser Support ) - add_llvm_tool(llvm-mc-disassemble-fuzzer + add_llvm_tool(llvm-mc-disassemble-fuzzer llvm-mc-disassemble-fuzzer.cpp) - - target_link_libraries(llvm-mc-disassemble-fuzzer - LLVMFuzzer - ) endif() diff --git a/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp b/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp index 643afe64073..482fc77db59 100644 --- a/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp +++ b/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp @@ -9,7 +9,6 @@ // //===----------------------------------------------------------------------===// -#include "FuzzerInterface.h" #include "llvm-c/Disassembler.h" #include "llvm-c/Target.h" #include "llvm/MC/SubtargetFeature.h" -- 2.40.0