Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [lib/Fuzzer] use sha1sum for the file hash | Kostya Serebryany | 2015-05-12 | 1 | -0/+30 | |
| | | | | llvm-svn: 237198 | |||||
* | [lib/Fuzzer] guess the right number of workers if -jobs=N is given but ↵ | Kostya Serebryany | 2015-05-12 | 4 | -1/+18 | |
| | | | | | | -workers=M is not. Update the docs. llvm-svn: 237163 | |||||
* | [lib/Fuzzer] remove the -dfsan=1 flag, just use -use_traces=1 (w/ or w/o dfsan) | Kostya Serebryany | 2015-05-12 | 5 | -8/+4 | |
| | | | | llvm-svn: 237083 | |||||
* | [lib/Fuzzer] detach the pulse thread instad of joining it | Kostya Serebryany | 2015-05-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 237082 | |||||
* | [lib/Fuzzer] don't record traces when trace collection is off | Kostya Serebryany | 2015-05-11 | 1 | -1/+2 | |
| | | | | llvm-svn: 237067 | |||||
* | [lib/Fuzzer] when running multiple fuzzing processes, print something every ↵ | Kostya Serebryany | 2015-05-11 | 1 | -2/+14 | |
| | | | | | | 10 minutes to avoid buildbot timeouts llvm-svn: 237054 | |||||
* | [lib/Fuzzer] rename FuzzerDFSan.cpp to FuzzerTraceState.cpp; update ↵ | Kostya Serebryany | 2015-05-11 | 4 | -44/+54 | |
| | | | | | | comments. NFC expected llvm-svn: 237050 | |||||
* | [lib/Fuzzer] add a trace-based mutatation logic. Same idea as with ↵ | Kostya Serebryany | 2015-05-11 | 5 | -12/+68 | |
| | | | | | | DFSan-based mutator, but instead of relying on taint tracking, try to find the data directly in the input. More (logic and comments) to go. llvm-svn: 237043 | |||||
* | [lib/Fuzzer] build tests that work well with dfsan also w/o dfsan | Kostya Serebryany | 2015-05-08 | 5 | -10/+12 | |
| | | | | llvm-svn: 236909 | |||||
* | [lib/Fuzzer] use -fsanitize-coverage=trace-cmp when building LLVM with ↵ | Kostya Serebryany | 2015-05-08 | 6 | -10/+68 | |
| | | | | | | LLVM_USE_SANITIZE_COVERAGE; in lib/Fuzzer try to reload the corpus to pick up new units from other processes llvm-svn: 236906 | |||||
* | Update CMake flags, LibFuzzer comments and docs for new -fsanitize-coverage= ↵ | Alexey Samsonov | 2015-05-07 | 2 | -3/+2 | |
| | | | | | | flags. llvm-svn: 236797 | |||||
* | [lib/Fuzzer] change the way we use taint information for fuzzing. Now, we ↵ | Kostya Serebryany | 2015-05-07 | 4 | -49/+84 | |
| | | | | | | run a single unit and collect suggested mutations based on tracing+taint data, then apply the suggested mutations one by one. The previous scheme was slower and more complex. llvm-svn: 236772 | |||||
* | [lib/Fuzzer] minor refactoring/simplification, NFC | Kostya Serebryany | 2015-05-07 | 3 | -31/+41 | |
| | | | | llvm-svn: 236757 | |||||
* | [lib/Fuzzer] add dfsan_weak_hook_memcmp, enable the test that uses it, ↵ | Kostya Serebryany | 2015-05-07 | 6 | -17/+35 | |
| | | | | | | simplify the test runner llvm-svn: 236683 | |||||
* | [lib/Fuzzer] remove dfsan_fuzzer_abi.list -- its contents are now moved to ↵ | Kostya Serebryany | 2015-05-06 | 3 | -17/+2 | |
| | | | | | | dfsan proper llvm-svn: 236659 | |||||
* | [lib/Fuzzer] add a fuzzer test for memcmp (does not work yet) | Kostya Serebryany | 2015-05-06 | 2 | -0/+9 | |
| | | | | llvm-svn: 236656 | |||||
* | [lib/Fuzzer] rename TestOneInput to LLVMFuzzerTestOneInput to make it more ↵ | Kostya Serebryany | 2015-05-06 | 12 | -15/+15 | |
| | | | | | | unique llvm-svn: 236652 | |||||
* | [lib/Fuzzer] on crash print the contents of the crashy input as base64 | Kostya Serebryany | 2015-05-05 | 3 | -0/+8 | |
| | | | | llvm-svn: 236548 | |||||
* | [lib/Fuzzer] use handle_abort=1 by default so that when assert() fires we ↵ | Kostya Serebryany | 2015-05-05 | 1 | -1/+2 | |
| | | | | | | save the test case llvm-svn: 236476 | |||||
* | Removing a spurious space; NFC. | Aaron Ballman | 2015-04-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 234168 | |||||
* | [fuzzer] document the -tokens flag. Also change the diagnostic output | Kostya Serebryany | 2015-04-01 | 1 | -4/+7 | |
| | | | | llvm-svn: 233842 | |||||
* | [fuzzer] Add support for token-based fuzzing (e.g. for C++). Allow string ↵ | Kostya Serebryany | 2015-03-31 | 10 | -58/+422 | |
| | | | | | | flags. llvm-svn: 233745 | |||||
* | Move lib/Fuzzer docs from a README.txt to a proper .rst file. | Kostya Serebryany | 2015-03-30 | 1 | -111/+1 | |
| | | | | | | | | | | | | | | | | | | Summary: Move lib/Fuzzer docs from a README.txt to a proper .rst file. This change does not add any content, just formatting. Test Plan: n/a Reviewers: samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8710 llvm-svn: 233638 | |||||
* | [fuzzer] when a single unit takes over 1 second to run and it is the slowest ↵ | Kostya Serebryany | 2015-03-30 | 2 | -4/+17 | |
| | | | | | | one so far, print it. llvm-svn: 233637 | |||||
* | [fuzzer] print various stats in a unified way | Kostya Serebryany | 2015-03-30 | 2 | -21/+25 | |
| | | | | llvm-svn: 233624 | |||||
* | DFSan-based fuzzer (proof of concept). | Kostya Serebryany | 2015-03-30 | 11 | -4/+361 | |
| | | | | | | | | | | | | | | | | | | Summary: This adds a simple DFSan-based (i.e. taint-guided) fuzzer mutator, see the comments for details. Test Plan: a test added Reviewers: samsonov, pcc Reviewed By: samsonov, pcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8669 llvm-svn: 233613 | |||||
* | [sanitizer/coverage] Add AFL-style coverage counters (search heuristic for ↵ | Kostya Serebryany | 2015-03-03 | 7 | -1/+43 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | fuzzing). Introduce -mllvm -sanitizer-coverage-8bit-counters=1 which adds imprecise thread-unfriendly 8-bit coverage counters. The run-time library maps these 8-bit counters to 8-bit bitsets in the same way AFL (http://lcamtuf.coredump.cx/afl/technical_details.txt) does: counter values are divided into 8 ranges and based on the counter value one of the bits in the bitset is set. The AFL ranges are used here: 1, 2, 3, 4-7, 8-15, 16-31, 32-127, 128+. These counters provide a search heuristic for single-threaded coverage-guided fuzzers, we do not expect them to be useful for other purposes. Depending on the value of -fsanitize-coverage=[123] flag, these counters will be added to the function entry blocks (=1), every basic block (=2), or every edge (=3). Use these counters as an optional search heuristic in the Fuzzer library. Add a test where this heuristic is critical. llvm-svn: 231166 | |||||
* | [fuzzer] one more experimental search mode: -use_coverage_pairs=1 | Kostya Serebryany | 2015-02-20 | 7 | -2/+55 | |
| | | | | llvm-svn: 229957 | |||||
* | [fuzzer] split main() into FuzzerDriver() that takes a callback as a ↵ | Kostya Serebryany | 2015-02-19 | 6 | -183/+235 | |
| | | | | | | parameter and a tiny main() in a separate file llvm-svn: 229882 | |||||
* | [fuzzer] properly annotate fallthrough, add one more entry to FAQ | Kostya Serebryany | 2015-02-19 | 2 | -1/+7 | |
| | | | | llvm-svn: 229880 | |||||
* | [fuzzer] move default sanitizer options to a separate file | Kostya Serebryany | 2015-02-06 | 3 | -7/+19 | |
| | | | | llvm-svn: 228429 | |||||
* | [fuzzer] add flag prefer_small_during_initial_shuffle, be a bit more verbose | Kostya Serebryany | 2015-02-04 | 4 | -6/+32 | |
| | | | | llvm-svn: 228235 | |||||
* | [fuzzer] add -runs=N to limit the number of runs per session. Also, make ↵ | Kostya Serebryany | 2015-02-04 | 4 | -9/+18 | |
| | | | | | | sure we do some mutations w/o cross over. llvm-svn: 228214 | |||||
* | [fuzzer] make multi-process execution more verbose; fix mutation to actually ↵ | Kostya Serebryany | 2015-02-04 | 6 | -18/+46 | |
| | | | | | | respect mutation depth and to never produce empty units llvm-svn: 228170 | |||||
* | [fuzzer]: fix exit code, add more diagnostics | Kostya Serebryany | 2015-02-04 | 2 | -1/+2 | |
| | | | | llvm-svn: 228103 | |||||
* | [fuzzer] Add proper dependensices to the fuzzer tests | Kostya Serebryany | 2015-02-03 | 3 | -1/+10 | |
| | | | | | | | | | | | | | | | | | | Summary: Make sure that FileCheck is built when running check-fuzzer Test Plan: run on bot: lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer Reviewers: samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7387 llvm-svn: 228045 | |||||
* | [fuzzer] update the include line to use the new header name | Kostya Serebryany | 2015-02-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 228018 | |||||
* | [fuzzer] add flags to run fuzzer in multiple parallel processes | Kostya Serebryany | 2015-01-31 | 2 | -0/+40 | |
| | | | | llvm-svn: 227664 | |||||
* | [fuzzer] Add a gtest-style test | Kostya Serebryany | 2015-01-30 | 6 | -24/+101 | |
| | | | | | | | | | | | | | | | | Summary: Add one gtest-style test. Test Plan: run on bot Reviewers: samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7287 llvm-svn: 227639 | |||||
* | [fuzzer] add -use_full_coverage_set=1 which solves FullCoverageSetTest. This ↵ | Kostya Serebryany | 2015-01-29 | 8 | -2/+52 | |
| | | | | | | does not scale very well yet, but might be a good start. llvm-svn: 227507 | |||||
* | [fuzzer] fix warning in a test | Kostya Serebryany | 2015-01-29 | 1 | -2/+0 | |
| | | | | llvm-svn: 227478 | |||||
* | [fuzzer] minor cleanup based on reviews: remove redundant includes, fix a ↵ | Kostya Serebryany | 2015-01-29 | 3 | -4/+2 | |
| | | | | | | copy-pasto in tests llvm-svn: 227468 | |||||
* | [fuzzer] add FAQ section to the README.txt | Kostya Serebryany | 2015-01-29 | 1 | -1/+43 | |
| | | | | llvm-svn: 227466 | |||||
* | Reverting r227452, which adds back the fuzzer library. Now excluding the ↵ | Aaron Ballman | 2015-01-29 | 20 | -0/+902 | |
| | | | | | | fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset. llvm-svn: 227464 | |||||
* | Temporarily reverting the fuzzer library as it causes too many build issues ↵ | Aaron Ballman | 2015-01-29 | 20 | -900/+0 | |
| | | | | | | for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252 llvm-svn: 227452 | |||||
* | Adding missing #includes to try to get this to compile on Windows with ↵ | Aaron Ballman | 2015-01-29 | 6 | -0/+6 | |
| | | | | | | Visual Studio. llvm-svn: 227445 | |||||
* | [fuzzer] add option -save_minimized_corpus | Kostya Serebryany | 2015-01-28 | 5 | -4/+27 | |
| | | | | llvm-svn: 227395 | |||||
* | Add lit-style tests for the Fuzzer library | Kostya Serebryany | 2015-01-28 | 6 | -2/+64 | |
| | | | | | | | | | | | | | | | | Summary: Add test targets and the lit-style runner. Test Plan: Run the tests on bot. Reviewers: samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7217 llvm-svn: 227389 | |||||
* | [fuzzer] instructions for building/running clang-format-fuzzer | Kostya Serebryany | 2015-01-28 | 1 | -1/+9 | |
| | | | | llvm-svn: 227357 | |||||
* | [fuzzer] properly enable asan's coverage feedback | Kostya Serebryany | 2015-01-27 | 1 | -1/+4 | |
| | | | | llvm-svn: 227254 |