summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer
Commit message (Collapse)AuthorAgeFilesLines
* [libFuzzer] deprecate several flagsKostya Serebryany2016-03-177-51/+10
| | | | llvm-svn: 263739
* [libFuzzer] add __attribute__((no_sanitize_memory)) to two functions that ↵Kostya Serebryany2016-03-171-0/+2
| | | | | | may be called from signal handler(s) or from msan. This will hopefully avoid msan false reports which I can't reproduce llvm-svn: 263737
* [libfuzzer] speeding up corpus loadMike Aizatsky2016-03-151-8/+10
| | | | llvm-svn: 263591
* [libFuzzer] use max_len exactly equal to the max size of input. Fix 32-bit buildKostya Serebryany2016-03-151-1/+2
| | | | llvm-svn: 263518
* [libFuzzer] try to use max_len based on the items of the corpus instead of ↵Kostya Serebryany2016-03-125-24/+56
| | | | | | blindly defaulting to 64 bytes. llvm-svn: 263323
* [libfuzzer] adding std:string to allowed adaptable argument.Mike Aizatsky2016-03-042-0/+20
| | | | llvm-svn: 262757
* [libFuzzer] log less when re-loading files; fix a silly bug: when running ↵Kostya Serebryany2016-03-042-3/+5
| | | | | | single files actually run all of them, not just the first one llvm-svn: 262754
* [libfuzzer] arbitrary function adapter.Mike Aizatsky2016-03-035-0/+299
| | | | | | | | | The adapter automates converting sequence of bytes into arbitrary arguments. Differential Revision: http://reviews.llvm.org/D17829 llvm-svn: 262673
* [libFuzzer] when interrupted, call _Exit() instead of exit()Kostya Serebryany2016-03-031-1/+1
| | | | llvm-svn: 262667
* [libFuzzer] add -Werror for libFuzzer build ruleKostya Serebryany2016-03-021-1/+1
| | | | llvm-svn: 262517
* libfuzzer: fix compiler warningsDmitry Vyukov2016-03-022-6/+12
| | | | | | | | - unused sigaction/setitimer result (used in assert) - unchecked fscanf return value - signed/unsigned comparison llvm-svn: 262472
* [libFuzzer] deprecate exit_on_first flagKostya Serebryany2016-03-014-12/+10
| | | | llvm-svn: 262417
* [libFuzzer] add generic signal handlers so that libFuzzer can report at ↵Kostya Serebryany2016-03-017-21/+94
| | | | | | least something if ASan is not handlig the signals for us. Remove abort_on_timeout flag. llvm-svn: 262415
* [libFuzzer] remove FuzzerSanitizerOptions.cppKostya Serebryany2016-03-012-18/+0
| | | | llvm-svn: 262354
* Refactor duplicated code for linking with pthread.Rafael Espindola2016-03-011-6/+2
| | | | llvm-svn: 262344
* [libFuzzer] fixing the botKostya Serebryany2016-02-271-1/+1
| | | | llvm-svn: 262106
* [libFuzzer] speedup path coverage handlingKostya Serebryany2016-02-272-18/+19
| | | | llvm-svn: 262102
* [libFuzzer] add -print_final_stats=1 flagKostya Serebryany2016-02-266-3/+41
| | | | llvm-svn: 262084
* [libFuzzer] initial implementation of path coverage based on ↵Kostya Serebryany2016-02-267-0/+103
| | | | | | -fsanitize-coverage=trace-pc. This does not scale well yet, but already cracks FullCoverageSetTest in seconds llvm-svn: 262073
* [libFuzzer] only read MaxLen bytes from every file in the corpus to speedup ↵Kostya Serebryany2016-02-184-12/+18
| | | | | | loading the corpus llvm-svn: 261267
* [libFuzzer] fix the libFuzzer bot Kostya Serebryany2016-02-182-2/+2
| | | | llvm-svn: 261184
* [libFuzzer] don't timeout when loading the corpus. Be a bit more verbose ↵Kostya Serebryany2016-02-172-1/+7
| | | | | | when loading large corpus. llvm-svn: 261143
* [libFuzzer] remove std::vector operations from hot paths, NFCKostya Serebryany2016-02-135-31/+38
| | | | llvm-svn: 260829
* [libFuzzer] don't require seed in fuzzer::Mutate, instead use the global ↵Kostya Serebryany2016-02-135-12/+21
| | | | | | Fuzzer object for fuzzer::Mutate. This makes custom mutators fast llvm-svn: 260810
* [libFuzzer] remove the C++-ish variant of FuzzerDriver from the interfaceKostya Serebryany2016-02-132-12/+7
| | | | llvm-svn: 260801
* [libFuzzer] simplify CTOR of MutationDispatcherKostya Serebryany2016-02-132-21/+21
| | | | llvm-svn: 260800
* [libFuzzer] get rid of MutationDispatcher::Impl (simplify the code; NFC)Kostya Serebryany2016-02-132-136/+114
| | | | llvm-svn: 260799
* [libFuzzer] get rid of UserSuppliedFuzzer; NFCKostya Serebryany2016-02-139-97/+41
| | | | llvm-svn: 260798
* [libFuzzer] simplify the code around Random. NFCKostya Serebryany2016-02-135-87/+39
| | | | llvm-svn: 260797
* [libFuzzer] remove UserSuppliedFuzzer from the interface (it was a bad idea).Kostya Serebryany2016-02-136-160/+68
| | | | llvm-svn: 260796
* [libFuzzer] provide a plain C interface for custom mutators (experimental)Kostya Serebryany2016-02-136-2/+65
| | | | llvm-svn: 260794
* [libFuzzer] make -runs=N flag also affect the simple runner (will execute ↵Kostya Serebryany2016-02-124-3/+28
| | | | | | every input N times) llvm-svn: 260649
* [libfuzzer] Removing coverage-related flags from asan options.Mike Aizatsky2016-02-111-3/+1
| | | | | | | | | | | Summary: Reasons to remove are twofold: - we don't really need coverage=1 for libfuzzer operation - makes controlling coverage for fuzzer processes non-trivial. Differential Revision: http://reviews.llvm.org/D17168 llvm-svn: 260611
* [libFuzzer] hot fix a testKostya Serebryany2016-02-041-1/+1
| | | | llvm-svn: 259732
* [libFuzzer] don't write the test unit when a leak is detected (since we ↵Kostya Serebryany2016-02-044-0/+16
| | | | | | don't know which unit causes the leak) llvm-svn: 259731
* [libFuzzer] don't create too many trace-based mutations as it may be too slowKostya Serebryany2016-02-021-2/+18
| | | | llvm-svn: 259600
* [libFuzzer] allow passing 1 or more files as individual inputsKostya Serebryany2016-02-024-2/+48
| | | | llvm-svn: 259459
* [libFuzzer] fail if the corpus dir does not existKostya Serebryany2016-02-022-1/+4
| | | | llvm-svn: 259454
* [libFuzzer] add -timeout_exitcode optionKostya Serebryany2016-01-295-1/+6
| | | | llvm-svn: 259265
* [libFuzzer] re-enable test for -abort_on_timeout=1, this time protecting ↵Kostya Serebryany2016-01-291-1/+1
| | | | | | from ASAN_OPTIONS set outside llvm-svn: 259263
* Temporary disable broken fuzzer/timeout tests.Ivan Krasin2016-01-251-1/+1
| | | | | | | | Reviewers: kcc Differential Revision: http://reviews.llvm.org/D16543 llvm-svn: 258702
* [libFuzzer] add -abort_on_timeout optionKostya Serebryany2016-01-235-0/+6
| | | | llvm-svn: 258631
* [libFuzzer] add more fields to DictionaryEntry to count the number of uses ↵Kostya Serebryany2016-01-222-29/+52
| | | | | | and successes llvm-svn: 258589
* Use std::piecewise_constant_distribution instead of ad-hoc binary search.Ivan Krasin2016-01-223-63/+106
| | | | | | | | | | | | | | | Summary: Fix the issue with the most recently discovered unit receiving much less attention. Note: this is the second attempt (prev: r258473). Now, libc++ build is fixed. Reviewers: aizatsky, kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16487 llvm-svn: 258571
* Revert r258473 as it's breaking the build with libc++Ivan Krasin2016-01-224-57/+17
| | | | | | | | Reviewers: kcc Differential Revision: http://reviews.llvm.org/D16441 llvm-svn: 258479
* Use std::piecewise_constant_distribution instead of ad-hoc binary search.Ivan Krasin2016-01-224-17/+57
| | | | | | | | | | | | | | | | | | Summary: Fix the issue with the most recently discovered unit receiving much less attention. Note: I had to change the seed for one test to make it pass. Alternatively, the number of runs could be increased. I believe that the average time of 'foo' discovery is not increased, just seed=1 was particularly convenient for the previous PRNG scheme used. Reviewers: aizatsky, kcc Subscribers: llvm-commits, kcc Differential Revision: http://reviews.llvm.org/D16419 llvm-svn: 258473
* [libFuzzer] don't do expensive memmem if the result will not be usedKostya Serebryany2016-01-221-0/+2
| | | | llvm-svn: 258462
* [libFuzzer] don't use std::vector in one more hot pathKostya Serebryany2016-01-211-6/+29
| | | | llvm-svn: 258380
* [libfuzzer] use %p for printing addressesMike Aizatsky2016-01-211-1/+1
| | | | llvm-svn: 258370
* [libFuzzer] use std::mt19937 for generating random numbers by default. Fix ↵Kostya Serebryany2016-01-195-8/+43
| | | | | | MyStoll to handle negative values. Use std::any_of instead of std::find_if llvm-svn: 258178
OpenPOWER on IntegriCloud