summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer
Commit message (Collapse)AuthorAgeFilesLines
...
* [libFuzzer] add -only_ascii flagKostya Serebryany2015-08-115-2/+28
| | | | llvm-svn: 244559
* Add missing include guard to FuzzerInternal.h, NFC.Yaron Keren2015-08-101-0/+6
| | | | llvm-svn: 244457
* [libFuzzer] move the mutators to public interface so that custom mutators ↵Kostya Serebryany2015-08-064-38/+33
| | | | | | may reuse these functions directly llvm-svn: 244250
* [libFuzzer] add one more mutation strategy: byte shufflingKostya Serebryany2015-08-064-2/+41
| | | | llvm-svn: 244188
* [libFuzzer] avoid build warnings in non-assert build (useful warning in this ↵Kostya Serebryany2015-08-051-1/+4
| | | | | | case) llvm-svn: 244177
* [libFuzzer] in dfsan mode, set labels every time we start recording traces ↵Kostya Serebryany2015-08-051-1/+3
| | | | | | as opposed to doing it at process startup. This ensures that the labels are fresh. llvm-svn: 244165
* [libFuzzer] add option -report_slow_units=Nsec to control when slow units ↵Kostya Serebryany2015-08-054-3/+8
| | | | | | are printed llvm-svn: 244152
* [libFuzzer] add a missing test fileKostya Serebryany2015-08-051-0/+28
| | | | llvm-svn: 244151
* [libFuzzer] use data-flow feedback from strcmpKostya Serebryany2015-08-054-2/+44
| | | | llvm-svn: 244084
* [libFuzzer] more refactoring of the Mutator and adding tests to itKostya Serebryany2015-08-013-26/+133
| | | | llvm-svn: 243818
* [libFuzzer] start refactoring the Mutator and adding tests to itKostya Serebryany2015-08-015-14/+58
| | | | llvm-svn: 243817
* [libFuzzer] limit the size of the inputs printed to stderrKostya Serebryany2015-07-311-4/+10
| | | | llvm-svn: 243795
* [libFuzzer] make sure that 2-byte arguments of switch() are handled properlyKostya Serebryany2015-07-313-13/+52
| | | | llvm-svn: 243781
* [libFuzzer] record traces from the switch statements only when told to do soKostya Serebryany2015-07-311-0/+1
| | | | llvm-svn: 243768
* [libFuzzer] support switch interception in dfsan modeKostya Serebryany2015-07-314-4/+41
| | | | llvm-svn: 243760
* [libFuzzer] trace switch statements and apply mutations based on the ↵Kostya Serebryany2015-07-314-0/+56
| | | | | | expected case values llvm-svn: 243726
* [libFuzzer] fix the strncmp interceptor -- it should respect short strings. Kostya Serebryany2015-07-303-3/+31
| | | | llvm-svn: 243691
* [libFuzzer] implement strncmp hook for data-flow-guided fuzzing (w/ and w/o ↵Kostya Serebryany2015-07-306-4/+45
| | | | | | dfsan), add a test llvm-svn: 243611
* [libFuzzer] implement memcmp hook for data-flow-guided fuzzing (w/o dfsan), ↵Kostya Serebryany2015-07-305-3/+24
| | | | | | extend the memcmp fuzzer test llvm-svn: 243603
* [libFuzzer] ensure that the dfsan tracing hooks actually run (using ↵Kostya Serebryany2015-07-282-1/+5
| | | | | | -verbosity=3 in tests) llvm-svn: 243365
* [libFuzzer] when using cmp traces, first check that the CMP is evaluated to ↵Kostya Serebryany2015-07-281-4/+44
| | | | | | one value much more frequently than to the other value (heuristic) llvm-svn: 243363
* [libFuzzer] allow users to supply their own implementation of randKostya Serebryany2015-07-2410-32/+85
| | | | llvm-svn: 243078
* [libFuzzer] dump long running units to disk Kostya Serebryany2015-07-233-8/+9
| | | | llvm-svn: 243031
* [Fuzzer] Rely on $PATH expansion instead of hardcoding paths in tests. NFC.Alexey Samsonov2015-07-213-14/+15
| | | | llvm-svn: 242851
* [Fuzzer] Clearly separate regular and DFSan tests. NFC.Alexey Samsonov2015-07-215-7/+10
| | | | llvm-svn: 242850
* [libFuzzer] require the files and directories passed to the fuzzer to existKostya Serebryany2015-07-181-2/+8
| | | | llvm-svn: 242596
* [lib/Fuzzer] make assertions more informative and update comments for the ↵Kostya Serebryany2015-05-302-4/+8
| | | | | | user-supplied mutator llvm-svn: 238658
* [lib/Fuzzer] relax an assertionKostya Serebryany2015-05-291-2/+2
| | | | llvm-svn: 238608
* [lib/Fuzzer] make the fuzzing timeout 1200 seconds by default (was: infinity)Kostya Serebryany2015-05-262-1/+3
| | | | llvm-svn: 238251
* [lib/Fuzzer] fix docsKostya Serebryany2015-05-261-2/+2
| | | | llvm-svn: 238236
* [lib/Fuzzer] fix build with assertionsKostya Serebryany2015-05-262-3/+4
| | | | llvm-svn: 238235
* [lib/Fuzzer] doxygen-ify the comments for the user interfaceKostya Serebryany2015-05-231-13/+22
| | | | llvm-svn: 238086
* [lib/Fuzzer] fully get rid of std::cerr in libFuzzerKostya Serebryany2015-05-233-38/+23
| | | | llvm-svn: 238081
* [lib/Fuzzer] start getting rid of std::cerr. Sadly, these parts of C++ ↵Kostya Serebryany2015-05-234-56/+47
| | | | | | library used in libFuzzer badly interract with the same code used in the target function and also with dfsan. It's easier to just not use std::cerr than to defeat these issues. llvm-svn: 238078
* [lib/Fuzzer] remove -use_coverage_pairs=1, an experimental feature that is ↵Kostya Serebryany2015-05-225-30/+1
| | | | | | unlikely to ever scale llvm-svn: 238063
* [lib/Fuzzer] extend the fuzzer interface to allow user-supplied mutatorsKostya Serebryany2015-05-2212-67/+258
| | | | llvm-svn: 238059
* [lib/Fuzzer] ignore flags that start with --; use git pull --rebase instead ↵Kostya Serebryany2015-05-212-2/+12
| | | | | | of just git pull llvm-svn: 237950
* [lib/Fuzzer] change the meaning of -timeout flag: now timeout is applied to ↵Kostya Serebryany2015-05-196-7/+22
| | | | | | every unit of work separately llvm-svn: 237735
* [lib/Fuzzer] more efficient reload logic; also don't spam git too muchKostya Serebryany2015-05-193-8/+11
| | | | llvm-svn: 237649
* [lib/Fuzzer] when -sync_command=<CMD> is given, periodically execute 'CMD ↵Kostya Serebryany2015-05-186-1/+29
| | | | | | CORPUS' to synchronize with other processes llvm-svn: 237617
* Code cleanup: Reindent Fuzzer::MutateAndTestOne.Logan Chien2015-05-171-2/+2
| | | | llvm-svn: 237533
* [lib/Fuzzer] Add SHA1 implementation from public domain.Kostya Serebryany2015-05-145-38/+225
| | | | | | | | | | | | | | | | | | | | | | | Summary: This adds a SHA1 implementation taken from public domain code. The change is trivial, but as it involves third-party code I'd like a second pair of eyes before commit. LibFuzzer can not use SHA1 from openssl because openssl may not be available and because we may be fuzzing openssl itself. Using sha1sum via a pipe is too slow. Test Plan: n/a Reviewers: chandlerc Reviewed By: chandlerc Subscribers: majnemer, llvm-commits Differential Revision: http://reviews.llvm.org/D9733 llvm-svn: 237400
* [lib/Fuzzer] enable -use_counters=1 by defaultKostya Serebryany2015-05-131-1/+1
| | | | llvm-svn: 237272
* [lib/Fuzzer] A simple script to synchronise a fuzz test corpus with an ↵Kostya Serebryany2015-05-121-0/+17
| | | | | | external git repository. llvm-svn: 237208
* [lib/Fuzzer] use sha1sum for the file hashKostya Serebryany2015-05-121-0/+30
| | | | llvm-svn: 237198
* [lib/Fuzzer] guess the right number of workers if -jobs=N is given but ↵Kostya Serebryany2015-05-124-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 Serebryany2015-05-125-8/+4
| | | | llvm-svn: 237083
* [lib/Fuzzer] detach the pulse thread instad of joining itKostya Serebryany2015-05-121-1/+1
| | | | llvm-svn: 237082
* [lib/Fuzzer] don't record traces when trace collection is offKostya Serebryany2015-05-111-1/+2
| | | | llvm-svn: 237067
* [lib/Fuzzer] when running multiple fuzzing processes, print something every ↵Kostya Serebryany2015-05-111-2/+14
| | | | | | 10 minutes to avoid buildbot timeouts llvm-svn: 237054
OpenPOWER on IntegriCloud