Kostya Serebryany
db88fc56b9
[libFuzzer] implement a better queue for the fork mode. Add an internal flag -stop_file to allow graceful shutdown of fuzzing. Enhance the logging in the fork mode
...
llvm-svn: 363470
2019-06-14 22:56:50 +00:00
Kostya Serebryany
3f39123d15
[libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels. Second attempt. This time with a fix for windows (putenv instead of setenv))
...
llvm-svn: 363445
2019-06-14 19:54:32 +00:00
Hans Wennborg
9bc707c0e5
Revert r363326 "[libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels."
...
It broke the Windows build:
C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\lib\fuzzer\FuzzerDataFlowTrace.cpp(243): error C3861: 'setenv': identifier not found
This also reverts the follow-up r363327.
llvm-svn: 363358
2019-06-14 07:32:22 +00:00
Kostya Serebryany
2fa83cb7ee
[libFuzzer] simplify the DFT trace collection using the new faster DFSan mode that traces up to 16 labels at a time and never runs out of labels.
...
llvm-svn: 363326
2019-06-13 21:17:49 +00:00
Kostya Serebryany
b7cc3d9953
[libFuzzer] automatically collect the data flow trace (DFT) in the fork mode if -collect_data_flow= is given
...
llvm-svn: 361448
2019-05-23 00:22:46 +00:00
Jonathan Metzman
f3ee97731e
[libFuzzer] Replace -seed_corpus to better support fork mode on Win
...
Summary:
Pass seed corpus list in a file to get around argument length limits on Windows.
This limit was preventing many uses of fork mode on Windows.
Reviewers: kcc, morehouse
Reviewed By: kcc
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D60980
llvm-svn: 359610
2019-04-30 20:56:18 +00:00
Kostya Serebryany
bbb8522bde
[libFuzzer] in fork mode, make sure the child stats are always collected. This should fix the flakiness in fork-ubsan.test
...
llvm-svn: 358726
2019-04-19 01:39:14 +00:00
Matt Morehouse
57213d839a
[libFuzzer] Remove tautological compare.
...
llvm-svn: 358510
2019-04-16 17:38:19 +00:00
Kostya Serebryany
5e67abd91f
[libFuzzer] speedup the merge step in the fork mode by merging only the files that have unique features.
...
llvm-svn: 358320
2019-04-13 01:57:33 +00:00
Kostya Serebryany
65132e2118
[libFuzzer] support -runs=N in the fork mode. Make sure we see one-line reports from ubsan in the fork mode. Test both
...
llvm-svn: 358306
2019-04-12 20:20:57 +00:00
Jonathan Metzman
518514e81d
[libFuzzer][Windows] Port fork mode to Windows
...
Summary:
Port libFuzzer's fork mode to Windows.
Implement Windows versions of MkDir, RmDir, and IterateDirRecursive to do this.
Don't print error messages under new normal uses of FileSize (on a non-existent file).
Implement portable way of piping output to /dev/null.
Fix test for Windows and comment fork-sigusr.test on why it won't be ported to Win.
Reviewers: zturner
Reviewed By: zturner
Subscribers: kcc, zturner, jdoerfert, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D58513
llvm-svn: 355019
2019-02-27 19:27:16 +00:00
Kostya Serebryany
312af158b0
[libFuzzer] fork mode: try harder to cleanup after itself
...
llvm-svn: 354186
2019-02-16 00:14:16 +00:00
Kostya Serebryany
9982ee5472
[libFuzzer] form mode: add -ignore_crashes flag, honor the max_total_time flag, print the number of ooms/timeouts/crashes, fix a typo
...
llvm-svn: 354175
2019-02-15 21:51:15 +00:00
Kostya Serebryany
77cbc62544
[libFuzzer] print new functions as they are discovered in the fork mode
...
llvm-svn: 354092
2019-02-15 01:22:00 +00:00
Kostya Serebryany
8c2791469d
[libFuzzer] when doing the merge, keep track of the coveraged edges, not just features
...
llvm-svn: 354087
2019-02-15 00:08:16 +00:00
Kostya Serebryany
8e918d6ead
[libFuzzer] better stats for the fork mode
...
llvm-svn: 354061
2019-02-14 21:09:32 +00:00
Kostya Serebryany
debf0af71d
[libFuzzer] trying to fix the bot (can't reproduce the build failure locally)
...
llvm-svn: 354000
2019-02-14 01:11:29 +00:00
Kostya Serebryany
60c5ded269
[libFuzzer] add threads to the fork mode: now you can pass -fork=N to run N concurrent workers. Fork mode is still work-in-progress.
...
llvm-svn: 353997
2019-02-14 00:25:43 +00:00
Kostya Serebryany
d085748484
[libFuzzer] a bit of refactoring of the fork mode
...
llvm-svn: 353910
2019-02-13 04:04:45 +00:00
Kostya Serebryany
5c08e811de
[libFuzzer] move the implementation of the fork mode into a separate file
...
llvm-svn: 353891
2019-02-12 22:48:55 +00:00