summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer
Commit message (Collapse)AuthorAgeFilesLines
* [libFuzzer] make libFuzzer build even with a compiler that does not have ↵Kostya Serebryany2015-11-133-10/+26
| | | | | | sanitizer headers llvm-svn: 253003
* output_csv libfuzzer optionMike Aizatsky2015-11-124-8/+25
| | | | | | | | | | | Summary: The option outputs statistics in CSV format preceded by 1 header line. This is intended for machine processing of the output. -verbosity=0 should likely be set. Differential Revision: http://reviews.llvm.org/D14600 llvm-svn: 252856
* [libFuzzer] experimental flag -drill (another search heuristic; Mike ↵Kostya Serebryany2015-11-126-20/+89
| | | | | | Aizatsky's idea) llvm-svn: 252838
* [libFuzzer] add UninstrumentedTest.cpp (missing from a previous commit)Kostya Serebryany2015-11-101-0/+8
| | | | llvm-svn: 252658
* [libFuzzer] make libFuzzer link if there is no sanitizer coverage ↵Kostya Serebryany2015-11-094-0/+50
| | | | | | instrumentation (it will fail at start-up time) llvm-svn: 252533
* [libFuzzer] print a bit fewer linesKostya Serebryany2015-11-052-2/+3
| | | | llvm-svn: 252123
* [libFuzzer] when choosing the next unit to mutate, give some preference to ↵Kostya Serebryany2015-11-042-26/+46
| | | | | | the most recent units (they are more likely to be interesting) llvm-svn: 252097
* [libFuzzer] make -test_single_input more reliable: make sure the input's ↵Kostya Serebryany2015-11-031-1/+3
| | | | | | size is equal to it's capacity llvm-svn: 251961
* [libFuzzer] add -merge flag to merge corporaKostya Serebryany2015-10-245-0/+72
| | | | llvm-svn: 251168
* [libFuzzer] remove some old code; also make ↵Kostya Serebryany2015-10-234-13/+4
| | | | | | __sanitizer_get_total_unique_caller_callee_pairs weak so that newer libFuzzer works with older asan llvm-svn: 251133
* [libFuzzer] use the indirect caller-callee counter as an independent search ↵Kostya Serebryany2015-10-227-1/+79
| | | | | | heuristic llvm-svn: 251078
* [libFuzzer] more refactoring the code that checks the coverage. NFCKostya Serebryany2015-10-222-8/+9
| | | | llvm-svn: 251075
* [libFuzzer] refactoring the code that checks the coverage. NFCKostya Serebryany2015-10-222-33/+43
| | | | llvm-svn: 251074
* [libFuzzer] remove the deprecated 'tokens' featureKostya Serebryany2015-10-227-99/+8
| | | | llvm-svn: 251069
* Make a bunch of static arrays const.Craig Topper2015-10-181-1/+1
| | | | llvm-svn: 250642
* [libFuzzer] add -shuffle flagKostya Serebryany2015-10-174-5/+10
| | | | llvm-svn: 250603
* [libFuzzer] print a stack trace on timeoutKostya Serebryany2015-10-164-0/+17
| | | | llvm-svn: 250571
* [libFuzzer] reduce the size of artifacts printed on the screenKostya Serebryany2015-10-161-1/+1
| | | | llvm-svn: 250565
* [libFuzzer] When -test_single_input crashes the test it is not necessary to ↵Kostya Serebryany2015-10-165-5/+18
| | | | | | write crash-file because input is already known to the user. Patch by Mike Aizatsky llvm-svn: 250564
* [libFuzzer] don't print large artifacts to stderrKostya Serebryany2015-10-091-6/+7
| | | | llvm-svn: 249808
* [libFuzzer] add -artifact_prefix flagKostya Serebryany2015-10-095-5/+14
| | | | llvm-svn: 249807
* [libFuzzer] fix 32-bit buildKostya Serebryany2015-10-081-1/+1
| | | | llvm-svn: 249646
* [libFuzzer] trying to fix at-exit hangKostya Serebryany2015-10-031-1/+1
| | | | llvm-svn: 249231
* [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵Kostya Serebryany2015-10-0220-33/+62
| | | | | | int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. llvm-svn: 249214
* [libFuzzer] remove experimental flag and functionalityKostya Serebryany2015-10-025-38/+3
| | | | llvm-svn: 249194
* [libFuzzer] add a flag -max_total_timeKostya Serebryany2015-10-025-1/+12
| | | | llvm-svn: 249181
* [LibFuzzer] test_single_input option to run a single test case.Ivan Krasin2015-10-015-1/+13
| | | | | | | | | | -test_single_input flag specifies a file name with test data. Review URL: http://reviews.llvm.org/D13359 Patch by Mike Aizatsky! llvm-svn: 249096
* [libFuzzer] Marking exported symbols as visible. Patch by Mike AizatskyKostya Serebryany2015-09-301-1/+2
| | | | llvm-svn: 248954
* [libFuzzer] perform fewer crossover operations compared to plain mutationsKostya Serebryany2015-09-111-7/+8
| | | | llvm-svn: 247364
* [libFuzzer] refactor the code to allow building libFuzzer on platforms that ↵Kostya Serebryany2015-09-102-17/+65
| | | | | | don't have dfsan and don't support weak functions llvm-svn: 247321
* [libFuzzer] add two more variants of FuzzerDriver for convenienceKostya Serebryany2015-09-102-20/+39
| | | | llvm-svn: 247300
* [libFuzzer]Add a test for defeating a hash sum.Ivan Krasin2015-09-083-0/+40
| | | | | | | | | | | | | | | | | Summary: Add a test for a data followed by 4-byte hash value. I use a slightly modified Jenkins hash function, as described in https://en.wikipedia.org/wiki/Jenkins_hash_function The modification is to ensure that hash(zeros) != 0. Reviewers: kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12648 llvm-svn: 247076
* [libFuzzer] remove a piece of stale codeKostya Serebryany2015-09-081-41/+1
| | | | llvm-svn: 247067
* [libFuzzer] be more robust when dealing with files on disk (e.g. don't crash ↵Kostya Serebryany2015-09-081-4/+2
| | | | | | if a file was there but disappeared) llvm-svn: 247066
* [libFuzzer] better documentatio for -save_minimized_corpus=1Kostya Serebryany2015-09-081-1/+2
| | | | llvm-svn: 247033
* [libFuzzer] remove -iterations as redundant (there is also -num_runs)Kostya Serebryany2015-09-084-7/+4
| | | | llvm-svn: 247030
* [libFuzzer] add one more mutator: Mutate_ChangeASCIIIntegerKostya Serebryany2015-09-083-0/+67
| | | | llvm-svn: 247027
* [libFuzzer] more accurate logic for traces, 80-char fixKostya Serebryany2015-09-041-6/+5
| | | | llvm-svn: 246888
* [libFuzzer] when a single mutation fails try a few more times with other ↵Kostya Serebryany2015-09-041-7/+14
| | | | | | mutations before returning un-mutated data llvm-svn: 246828
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-049-24/+170
| | | | llvm-svn: 246825
* [libFuzzer] refactor the mutation functions so that they are now methods of ↵Kostya Serebryany2015-09-035-69/+80
| | | | | | a class. NFC llvm-svn: 246808
* [libFuzzer] adding a parser for AFL-style dictionaries + tests.Kostya Serebryany2015-09-035-0/+141
| | | | llvm-svn: 246800
* [libFuzzer] deprecate the -tokens flag. This was a bad idea because the ↵Kostya Serebryany2015-09-023-4/+5
| | | | | | corpus with this flag contains encrypted inputs, not the real inputs, which complicates interoperation with other fuzzers. Instead we'll need to implement AFL dictionary support llvm-svn: 246734
* [libFuzzer] honour -only_ascii=1 when reading the initial corpus. Also, ↵Kostya Serebryany2015-09-023-5/+10
| | | | | | remove ugly #ifdef llvm-svn: 246689
* [libFuzzer] fix minor inefficiency, PR24584Kostya Serebryany2015-08-261-1/+1
| | | | llvm-svn: 246087
* Fix missing space in libfuzzer's help text.Lenny Maiorani2015-08-121-1/+1
| | | | llvm-svn: 244800
* [libFuzzer] add two flags, -tbm_depth and -tbm_width to control how the ↵Kostya Serebryany2015-08-127-12/+31
| | | | | | trace-based-mutations are applied llvm-svn: 244712
* [libFuzzer] add colons to the stats output to avoid confusionKostya Serebryany2015-08-121-2/+3
| | | | llvm-svn: 244708
* [libFuzzer] use raw C IO to reduce the risk of a deadlock in a signal handler.Kostya Serebryany2015-08-121-2/+5
| | | | llvm-svn: 244707
* Fix unused variable 'X' in release builds.Nick Lewycky2015-08-111-0/+2
| | | | llvm-svn: 244571
OpenPOWER on IntegriCloud