diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2017-08-04 17:19:45 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2017-08-04 17:19:45 +0000 |
commit | 8ecdd7be154affd28bf91217913676b00db62cb7 (patch) | |
tree | 399c219e64c4dac67e1975ddbc8f5246e50aaabe /llvm/docs/LibFuzzer.rst | |
parent | ff77cc750cf99b875915a37c1146c5f56de0edc8 (diff) | |
download | bcm5719-llvm-8ecdd7be154affd28bf91217913676b00db62cb7.tar.gz bcm5719-llvm-8ecdd7be154affd28bf91217913676b00db62cb7.zip |
Port libFuzzer tests to LIT. Do not require two-stage build for check-fuzzer.
This revision ports all libFuzzer tests apart from the unittest to LIT.
The advantages of doing so include:
- Tests being self-contained
- Much easier debugging of a single test
- No need for using a two-stage compilation
The unit-test is still compiled using CMake, but it does not need a
freshly built compiler.
NOTE: The previous two-stage bot configuration will NOT work, as in the
second stage build LLVM_USE_SANITIZER is set, which disables ASAN from
being built.
Thus bots will be reconfigured in the next few commits.
Differential Revision: https://reviews.llvm.org/D36295
llvm-svn: 310075
Diffstat (limited to 'llvm/docs/LibFuzzer.rst')
-rw-r--r-- | llvm/docs/LibFuzzer.rst | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/docs/LibFuzzer.rst b/llvm/docs/LibFuzzer.rst index b833c2a6cb9..db6538f41d0 100644 --- a/llvm/docs/LibFuzzer.rst +++ b/llvm/docs/LibFuzzer.rst @@ -624,12 +624,15 @@ you will eventually run out of RAM (see the ``-rss_limit_mb`` flag). Developing libFuzzer ==================== -Building libFuzzer as a part of LLVM project and running its test requires -fresh clang as the host compiler and special CMake configuration: +LibFuzzer is built as a part of LLVM project by default on macos and Linux. +Users of other operating systems can explicitly request compilation using +``-DLIBFUZZER_ENABLE=YES`` flag. +Tests are run using ``check-fuzzer`` target from the build directory +(note that tests will take a long time to run if the compiler was compiled +without optimizations): .. code-block:: console - cmake -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_USE_SANITIZER=Address -DLLVM_USE_SANITIZE_COVERAGE=YES -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON /path/to/llvm ninja check-fuzzer |