Kostya Serebryany
|
a0a13e0ee1
|
[libFuzzer] added -detect_leaks flag (0 by default for now). When enabled, it will help finding leaks while fuzzing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266838 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-20 00:24:21 +00:00 |
|
Kostya Serebryany
|
d3f038dc3e
|
[libFuzzer] try to print correct time in seconds when reporting a timeout. Don't report timeouts while still loading the corpus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266693 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-18 22:50:39 +00:00 |
|
Kostya Serebryany
|
37e715dc57
|
[libFuzzer] warn if the corpus is empty
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266670 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-18 21:14:11 +00:00 |
|
Mehdi Amini
|
f6071e14c5
|
[NFC] Header cleanup
Removed some unused headers, replaced some headers with forward class declarations.
Found using simple scripts like this one:
clear && ack --cpp -l '#include "llvm/ADT/IndexedMap.h"' | xargs grep -L 'IndexedMap[<]' | xargs grep -n --color=auto 'IndexedMap'
Patch by Eugene Kosov <claprix@yandex.ru>
Differential Revision: http://reviews.llvm.org/D19219
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266595 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-18 09:17:29 +00:00 |
|
Kostya Serebryany
|
ac6d266478
|
[libFuzzer] add a better warning for command line flags with -- (two dashes)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266480 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-15 21:56:29 +00:00 |
|
Hans Wennborg
|
f721b994c5
|
Remove redundant .c_str(), as suggested by PR25633
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265988 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-11 20:35:17 +00:00 |
|
Mike Aizatsky
|
5bb9d06dac
|
[libfuzzer] defensive assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265866 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-08 23:32:24 +00:00 |
|
Mike Aizatsky
|
f4643f6392
|
[libfuzzer] adding license headers to cpp files
Differential Revision: http://reviews.llvm.org/D18705
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265174 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-01 18:38:58 +00:00 |
|
Kostya Serebryany
|
7544ffc130
|
[libFuzzer] more docs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264803 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-29 23:07:36 +00:00 |
|
Kostya Serebryany
|
3d4018c32c
|
[libFuzzer] use fflush after every Printf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264459 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-25 20:31:26 +00:00 |
|
Kostya Serebryany
|
d32f138d30
|
[libFuzzer] handle SIGTERM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264338 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-24 21:03:58 +00:00 |
|
Kostya Serebryany
|
c09d592889
|
[libFuzzer] don't report memory leaks if we are dying due to a timeout (just use _Exit instead of exit in the timeout callback)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264237 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-24 01:32:08 +00:00 |
|
Kostya Serebryany
|
f4b00d0631
|
[libFuzzer] use fdopen+vfprintf instead of fsnprintf+write
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264230 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-24 00:57:32 +00:00 |
|
Kostya Serebryany
|
4aa62c5d17
|
[libFuzzer] add a flag close_fd_mask so that we can silence spammy targets by closing stderr/stdout
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263831 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 20:58:29 +00:00 |
|
Benjamin Kramer
|
3ac2aa592d
|
[Fuzzer] Guard no_sanitize_memory attributes behind __has_feature.
Otherwise GCC fails to build it because it doesn't know the attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263787 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 14:19:19 +00:00 |
|
Kostya Serebryany
|
2b341f70ca
|
[libFuzzer] read corpus dirs recursively
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263773 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 01:36:00 +00:00 |
|
Kostya Serebryany
|
ab641c1abd
|
[libFuzzer] improve -merge functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263769 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 00:23:29 +00:00 |
|
Kostya Serebryany
|
bcace10c40
|
[libFuzzer] deprecate several flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263739 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-17 19:59:39 +00:00 |
|
Kostya Serebryany
|
227603719a
|
[libFuzzer] add __attribute__((no_sanitize_memory)) to two functions that may be called from signal handler(s) or from msan. This will hopefully avoid msan false reports which I can't reproduce
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263737 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-17 19:42:35 +00:00 |
|
Mike Aizatsky
|
fa4edb682f
|
[libfuzzer] speeding up corpus load
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263591 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-15 21:47:21 +00:00 |
|
Kostya Serebryany
|
2f2c2e3539
|
[libFuzzer] use max_len exactly equal to the max size of input. Fix 32-bit build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263518 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-15 01:28:00 +00:00 |
|
Kostya Serebryany
|
b30f32650e
|
[libFuzzer] try to use max_len based on the items of the corpus instead of blindly defaulting to 64 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263323 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-12 01:57:04 +00:00 |
|
Mike Aizatsky
|
c0d25bf9b8
|
[libfuzzer] adding std:string to allowed adaptable argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262757 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-04 23:18:01 +00:00 |
|
Kostya Serebryany
|
2c1ecb8c48
|
[libFuzzer] log less when re-loading files; fix a silly bug: when running single files actually run all of them, not just the first one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262754 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-04 22:35:40 +00:00 |
|
Mike Aizatsky
|
d7ee221d4d
|
[libfuzzer] arbitrary function adapter.
The adapter automates converting sequence of bytes into arbitrary
arguments.
Differential Revision: http://reviews.llvm.org/D17829
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262673 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-03 23:45:29 +00:00 |
|
Kostya Serebryany
|
2ef77db652
|
[libFuzzer] when interrupted, call _Exit() instead of exit()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262667 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-03 22:36:37 +00:00 |
|
Kostya Serebryany
|
c2ecfd6993
|
[libFuzzer] add -Werror for libFuzzer build rule
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262517 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-02 21:08:16 +00:00 |
|
Dmitry Vyukov
|
f984411dc5
|
libfuzzer: fix compiler warnings
- unused sigaction/setitimer result (used in assert)
- unchecked fscanf return value
- signed/unsigned comparison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262472 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-02 09:54:40 +00:00 |
|
Kostya Serebryany
|
66bb64fd43
|
[libFuzzer] deprecate exit_on_first flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262417 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 22:33:14 +00:00 |
|
Kostya Serebryany
|
7a1dcf9965
|
[libFuzzer] add generic signal handlers so that libFuzzer can report at least something if ASan is not handlig the signals for us. Remove abort_on_timeout flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262415 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 22:19:21 +00:00 |
|
Kostya Serebryany
|
8ca429497a
|
[libFuzzer] remove FuzzerSanitizerOptions.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262354 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 17:46:32 +00:00 |
|
Rafael Espindola
|
93ed620d27
|
Refactor duplicated code for linking with pthread.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262344 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 15:54:40 +00:00 |
|
Kostya Serebryany
|
0b3b8cba94
|
[libFuzzer] fixing the bot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262106 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-27 03:14:23 +00:00 |
|
Kostya Serebryany
|
a6b4efd1d0
|
[libFuzzer] speedup path coverage handling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262102 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-27 01:50:16 +00:00 |
|
Kostya Serebryany
|
86b1b67565
|
[libFuzzer] add -print_final_stats=1 flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262084 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-26 22:42:23 +00:00 |
|
Kostya Serebryany
|
1ff29eb9ca
|
[libFuzzer] initial implementation of path coverage based on -fsanitize-coverage=trace-pc. This does not scale well yet, but already cracks FullCoverageSetTest in seconds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262073 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-26 21:33:56 +00:00 |
|
Kostya Serebryany
|
a755f1bd65
|
[libFuzzer] only read MaxLen bytes from every file in the corpus to speedup loading the corpus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261267 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-18 21:49:10 +00:00 |
|
Kostya Serebryany
|
b73d5ba466
|
[libFuzzer] fix the libFuzzer bot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261184 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-18 02:02:40 +00:00 |
|
Kostya Serebryany
|
73b0e08885
|
[libFuzzer] don't timeout when loading the corpus. Be a bit more verbose when loading large corpus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261143 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-17 19:42:34 +00:00 |
|
Kostya Serebryany
|
2d7392fe48
|
[libFuzzer] remove std::vector operations from hot paths, NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260829 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 17:56:51 +00:00 |
|
Kostya Serebryany
|
49429cee7f
|
[libFuzzer] don't require seed in fuzzer::Mutate, instead use the global Fuzzer object for fuzzer::Mutate. This makes custom mutators fast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260810 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 06:24:18 +00:00 |
|
Kostya Serebryany
|
5a08f1b013
|
[libFuzzer] remove the C++-ish variant of FuzzerDriver from the interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260801 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:59:26 +00:00 |
|
Kostya Serebryany
|
d1eacb8ffc
|
[libFuzzer] simplify CTOR of MutationDispatcher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260800 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:46:26 +00:00 |
|
Kostya Serebryany
|
1d35d47455
|
[libFuzzer] get rid of MutationDispatcher::Impl (simplify the code; NFC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260799 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:37:24 +00:00 |
|
Kostya Serebryany
|
efb0cc7640
|
[libFuzzer] get rid of UserSuppliedFuzzer; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260798 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:25:16 +00:00 |
|
Kostya Serebryany
|
728ca1266f
|
[libFuzzer] simplify the code around Random. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260797 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:00:53 +00:00 |
|
Kostya Serebryany
|
f71ac00d01
|
[libFuzzer] remove UserSuppliedFuzzer from the interface (it was a bad idea).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260796 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 02:39:30 +00:00 |
|
Kostya Serebryany
|
e6d7e3d948
|
[libFuzzer] provide a plain C interface for custom mutators (experimental)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260794 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 02:29:38 +00:00 |
|
Kostya Serebryany
|
14c6007ab2
|
[libFuzzer] make -runs=N flag also affect the simple runner (will execute every input N times)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260649 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-12 02:32:03 +00:00 |
|
Mike Aizatsky
|
dff48e6497
|
[libfuzzer] Removing coverage-related flags from asan options.
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260611 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-11 22:20:34 +00:00 |
|