llvm-capstone/clang/tools
Matt Morehouse f051f5d1e6 Integrate Kostya's clang-proto-fuzzer with LLVM.
Summary:
The clang-proto-fuzzer models a subset of C++ as a protobuf and
uses libprotobuf-mutator to generate interesting mutations of C++
programs.  Clang-proto-fuzzer has already found several bugs in
Clang (e.g., https://bugs.llvm.org/show_bug.cgi?id=33747,
https://bugs.llvm.org/show_bug.cgi?id=33749).

As with clang-fuzzer, clang-proto-fuzzer requires the following
cmake flags:
- CMAKE_C_COMPILER=clang
- CMAKE_CXX_COMPILER=clang++
- LLVM_USE_SANITIZE_COVERAGE=YES  // needed for libFuzzer
- LLVM_USE_SANITIZER=Address  // needed for libFuzzer

In addition, clang-proto-fuzzer requires:
- CLANG_ENABLE_PROTO_FUZZER=ON

clang-proto-fuzzer also requires the following dependencies:
- binutils  // needed for libprotobuf-mutator
- liblzma-dev  // needed for libprotobuf-mutator
- libz-dev  // needed for libprotobuf-mutator
- docbook2x  // needed for libprotobuf-mutator
- Recent version of protobuf [3.3.0 is known to work]

A working version of libprotobuf-mutator will automatically be
downloaded and built as an external project.

Implementation of clang-proto-fuzzer provided by Kostya
Serebryany.

https://bugs.llvm.org/show_bug.cgi?id=33829

Reviewers: kcc, vitalybuka, bogner

Reviewed By: kcc, vitalybuka

Subscribers: thakis, mgorny, cfe-commits

Differential Revision: https://reviews.llvm.org/D36324

llvm-svn: 310408
2017-08-08 20:15:04 +00:00
..
arcmt-test
c-arcmt-test
c-index-test [libclang] Support for querying whether an enum is scoped 2017-07-12 11:35:11 +00:00
clang-check Remove 'Filename' parameter from BeginSourceFileAction. 2017-06-09 01:36:10 +00:00
clang-diff [clang-diff] Rename, NFC 2017-07-27 15:04:44 +00:00
clang-format clang-format: Add capability to format the diff on save in vim. 2017-06-19 07:30:04 +00:00
clang-format-vs clang-format-vs licence.txt: drop svn:executable 2017-04-13 20:09:18 +00:00
clang-fuzzer Integrate Kostya's clang-proto-fuzzer with LLVM. 2017-08-08 20:15:04 +00:00
clang-import-test This adds the argument --dump-ir to clang-import-test, which allows 2017-08-07 22:27:30 +00:00
clang-offload-bundler Print registered targets in clang's version information 2017-06-06 21:54:21 +00:00
clang-rename [clang-rename] Just return instead of calling exit(3) from main. 2017-06-30 20:24:32 +00:00
diag-build
diagtool [diagtool] Add ability to pass in the id and return the name for a 2017-08-03 16:13:13 +00:00
driver Update for llvm change. 2017-08-02 20:32:35 +00:00
libclang [libclang] Determinize order of platform availability attrs 2017-08-04 21:52:25 +00:00
scan-build [scan-build] Patch to scan-build tool to support "--target=<value>" flag 2017-05-26 19:25:32 +00:00
scan-build-py [scan-build-py] Patch to fix "-analyzer-config" option 2017-07-19 00:29:41 +00:00
scan-view
CMakeLists.txt [clang-diff] Add initial implementation 2017-07-21 12:49:28 +00:00