I've made a fix in r234170 that gates the build of clang-fuzzer on the build of LLVMFuzzer. There may be a more appropriate fix, but this should at least get the bots to green again.
~Aaron On Mon, Apr 6, 2015 at 12:07 PM, Aaron Ballman <[email protected]> wrote: > This appears to have broken the build for Windows. > > http://bb.pgr.jp/builders/msbuild-llvmclang-x64-msc18-DA/builds/116/steps/build_clang_all/logs/stdio > > I am seeing this breakage locally as well. It seems that the > LLVMFuzzer library is not being built (possibly because of > LLVM_USE_SANITIZE_COVERAGE not being true?), and so clang-fuzzer gets > link failures. > > ~Aaron > > On Thu, Jan 29, 2015 at 10:33 PM, Kostya Serebryany <[email protected]> wrote: >> Hi chandlerc, >> >> Add clang-fuzzer target. >> This is a very naive and slow clang fuzzer, but it has found >> one new bug (PR22396) and hit a known bug (PR21954) in just a few minutes, >> so I think it deserves to be committed. >> I would appreciate further contribution to fuzzer/ClangFuzzer.cpp >> to make if faster and more meaningful. >> >> http://reviews.llvm.org/D7289 >> >> Files: >> CMakeLists.txt >> fuzzer/ >> fuzzer/CMakeLists.txt >> fuzzer/ClangFuzzer.cpp >> >> Index: CMakeLists.txt >> =================================================================== >> --- CMakeLists.txt >> +++ CMakeLists.txt >> @@ -532,3 +532,7 @@ >> ${CLANG_BINARY_DIR}/share/clang/cmake/ClangConfig.cmake >> COPYONLY) >> endif () >> + >> +if( LLVM_USE_SANITIZE_COVERAGE ) >> + add_subdirectory(fuzzer) >> +endif() >> Index: fuzzer/CMakeLists.txt >> =================================================================== >> --- /dev/null >> +++ fuzzer/CMakeLists.txt >> @@ -0,0 +1,17 @@ >> +set(LLVM_LINK_COMPONENTS support) >> + >> +add_clang_executable(clang-fuzzer >> + ClangFuzzer.cpp >> + ) >> + >> +target_link_libraries(clang-fuzzer >> + clangAST >> + clangASTMatchers >> + clangBasic >> + clangFrontend >> + clangLex >> + clangRewrite >> + clangTooling >> + clangToolingCore >> + LLVMFuzzer >> + ) >> Index: fuzzer/ClangFuzzer.cpp >> =================================================================== >> --- /dev/null >> +++ fuzzer/ClangFuzzer.cpp >> @@ -0,0 +1,34 @@ >> +//===-- ClangFuzzer.cpp - Fuzz Clang >> --------------------------------------===// >> +// >> +// The LLVM Compiler Infrastructure >> +// >> +// This file is distributed under the University of Illinois Open Source >> +// License. See LICENSE.TXT for details. >> +// >> +//===----------------------------------------------------------------------===// >> +/// >> +/// \file >> +/// \brief This file implements a function that runs Clang on a single >> +/// input. This function is then linked into the Fuzzer library. >> +/// See llvm/lib/Fuzzer/README.txt for more instructions. >> +/// >> +//===----------------------------------------------------------------------===// >> + >> +#include <stdio.h> >> +#include <stddef.h> >> +#include <stdint.h> >> + >> +#include "clang/Tooling/Tooling.h" >> +#include <string> >> + >> +// FIXME: The current implementation is very naive an inefficient: >> +// - buildASTFromCode does a lot of driver work which slows down things. >> +// - Errors are reported to stderr slowing things even further. >> +// >> +// What we really need here is a function that takes the array of bytes >> +// and invokes preprocessor and/or parser on it, sending messages to >> dev/null. >> + >> +extern "C" void TestOneInput(uint8_t *data, size_t size) { >> + std::string S((char*)data, size); >> + clang::tooling::buildASTFromCode(S); >> +} >> >> EMAIL PREFERENCES >> http://reviews.llvm.org/settings/panel/emailpreferences/ >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
