Kostya Serebryany
b99a7102c1
[libFuzzer] make the tests depend on ubsan
...
llvm-svn: 320787
2017-12-15 01:39:52 +00:00
Kostya Serebryany
e9ed2327b6
[libFuzzer] change the strategy for -experimental_len_control to grow max_len slower
...
llvm-svn: 320531
2017-12-12 23:11:28 +00:00
Kostya Serebryany
de891a1946
[libFuzzer] even less aggressive step function for stack depth. Also don't use asan in one test to speed it up
...
llvm-svn: 320259
2017-12-09 19:18:10 +00:00
Kostya Serebryany
de9bafb162
[libFuzzer] add a flag -malloc_limit_mb
...
llvm-svn: 319590
2017-12-01 22:12:04 +00:00
Matt Morehouse
6497193cfe
[libFuzzer] Fix flaky merge.test.
...
llvm-svn: 318475
2017-11-17 00:11:12 +00:00
Matt Morehouse
12615ec49b
[libFuzzer] Make merge-sigusr.test work on Mac.
...
llvm-svn: 318465
2017-11-16 23:06:17 +00:00
Kostya Serebryany
dc3c9eb0cf
[libFuzzer] add more tests for merge
...
llvm-svn: 318453
2017-11-16 20:25:45 +00:00
Kostya Serebryany
0e194faeea
[libFuzzer] disable test/fuzzer/merge-sigusr.test on Mac while investigating the bot failure
...
llvm-svn: 318376
2017-11-16 04:52:05 +00:00
Kostya Serebryany
8eb9ca2580
[libFuzzer] respect max_len during merge
...
llvm-svn: 318302
2017-11-15 16:42:52 +00:00
Kostya Serebryany
c183e2c33b
[libFuzzer] trying to make sigusr tests more reliable
...
llvm-svn: 317852
2017-11-10 00:26:23 +00:00
Kostya Serebryany
e8637f45ea
[libFuzzer] split a test into two
...
llvm-svn: 317851
2017-11-10 00:18:13 +00:00
Kostya Serebryany
533cbf749c
[libFuzzer] use pkill instead of killall in a test since the bots don't have killall
...
llvm-svn: 317840
2017-11-09 22:01:06 +00:00
Kostya Serebryany
54a8456005
[libFuzzer] make sure to flush IO when done merging one file
...
llvm-svn: 317835
2017-11-09 21:30:33 +00:00
Matt Morehouse
947838c9c5
[libFuzzer] Don't add leaking inputs to corpus.
...
Reviewers: kcc
Reviewed By: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39850
llvm-svn: 317831
2017-11-09 20:44:08 +00:00
Kostya Serebryany
a2ca2dcc46
[libFuzzer] handle SIGUSR1/SIGUSR2 and try to exit grafully on these signals
...
llvm-svn: 317829
2017-11-09 20:30:19 +00:00
Kostya Serebryany
3ac31d4453
[libFuzzer] allow merge to resume after being preempted
...
llvm-svn: 317767
2017-11-09 05:49:28 +00:00
Kostya Serebryany
e1d121d715
[libFuzzer] mechanically simplify a test, NFC
...
llvm-svn: 317756
2017-11-09 02:13:43 +00:00
Kostya Serebryany
8a94f220aa
[libFuzzer] fix a test (and hopefully, the bot)
...
llvm-svn: 317749
2017-11-09 01:45:59 +00:00
Kostya Serebryany
68fdef1f7a
[libFuzzer] allow user to specify the merge control file
...
llvm-svn: 317747
2017-11-09 01:05:29 +00:00
Vitaly Buka
ca9075272b
[fuzzer] Script to detect unbalanced allocation in -trace_malloc output
...
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39466
llvm-svn: 317119
2017-11-01 20:27:06 +00:00
Vitaly Buka
7dbc1d8433
[fuzzer] Fix threaded stack printing
...
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39397
llvm-svn: 317071
2017-11-01 03:02:59 +00:00
Vitaly Buka
df00e89cdc
Revert "[fuzzer] Fix threaded stack printing and nested mallocs"
...
Fails on darwin
Revert "[fuzzer] Script to detect unbalanced allocation in -trace_malloc output"
Needs previous one.
This reverts commit r317034, r317036.
llvm-svn: 317061
2017-11-01 00:55:52 +00:00
Vitaly Buka
0747700ce1
[fuzzer] Script to detect unbalanced allocation in -trace_malloc output
...
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39466
llvm-svn: 317036
2017-10-31 20:50:07 +00:00
Vitaly Buka
58da33e35c
[fuzzer] Fix threaded stack printing and nested mallocs
...
Summary: Nested mallocs are possible with internal symbolizer.
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39397
llvm-svn: 317034
2017-10-31 20:49:48 +00:00
Kostya Serebryany
3c9e59d0f6
[libFuzzer] trying to make a test more stable on Mac
...
llvm-svn: 316627
2017-10-25 23:24:45 +00:00
Kostya Serebryany
51823d3aae
[libFuzzer] tweam use_feature_frequency to be less aggressive; run a dummy input before the seed corpus
...
llvm-svn: 315657
2017-10-13 01:12:23 +00:00
Max Moroz
330496c3fc
[libFuzzer] Disable experimental clang coverage support by default.
...
Summary:
It can be enabled via "-use_clang_coverage=1" flag. Reason for disabling:
libFuzzer resets Clang Counters and makes it impossible to generate coverage
report for a regular fuzz target (i.e. not standalone build).
Reviewers: kcc
Reviewed By: kcc
Subscribers: kcc
Differential Revision: https://reviews.llvm.org/D38604
llvm-svn: 315029
2017-10-05 22:41:03 +00:00
Kostya Serebryany
80e9a6ccd1
[libFuzzer] add linux-specific test for gc-sections
...
llvm-svn: 313421
2017-09-15 23:07:18 +00:00
Kostya Serebryany
ad66fefdca
[libFuzzer] test fix
...
llvm-svn: 313411
2017-09-15 22:29:20 +00:00
Max Moroz
1a33da2401
[libFuzzer] Fix lit files to make running tests more straightforward on Mac OS.
...
Summary:
Current implementation does not work if CMAKE_OSX_SYSROOT is not specified.
It silently generates invalid command with the following flags:
`-std=c++11 -lc++ -gline-tables-only -isysroot -fsanitize=address,fuzzer`
and then fails with the following error:
```
warning: no such sysroot directory: '-fsanitize=address,fuzzer' [-Wmissing-sysroot]"
<...>/RepeatedBytesTest.cpp:5:10: fatal error: 'assert.h' file not found
#include <assert.h>
^~~~~~~~~~
1 error generated.
```
However, if you have Command Line Tools installed, you have '/usr/include' dir.
In that case, it is not necessary to specify isysroot path.
Also, with the patch, in case of '/usr/include' does not exist, the '-sysroot'
path would be resolved automatically in compiler-rt/cmake/base-config-ix.cmake.
For more context, see the comment at `compiler-rt/cmake/base-config-ix.cmake#L76`
Reviewers: kcc, george.karpenkov
Reviewed By: kcc, george.karpenkov
Differential Revision: https://reviews.llvm.org/D37721
llvm-svn: 313033
2017-09-12 15:02:10 +00:00
Max Moroz
3f26dac416
[libfuzzer] Compare TotalNumberOfRuns with MaxNumberOfRuns when testing a memory leak.
...
Summary:
Fuzzer::TryDetectingAMemoryLeak may call ExecuteCallback which would
increment TotalNumberOfRuns, but it doesn't respect Options.MaxNumberOfRuns
value specified by a user.
Context: https://github.com/google/oss-fuzz/issues/822#issuecomment-328153970
Reviewers: kcc
Reviewed By: kcc
Differential Revision: https://reviews.llvm.org/D37632
llvm-svn: 312993
2017-09-12 02:01:54 +00:00
Kostya Serebryany
754e584076
[libFuzzer] simplify CustomCrossOverTest even more
...
llvm-svn: 312697
2017-09-07 05:33:05 +00:00
Kostya Serebryany
57c03648e1
[libFuzzer] simplify CustomCrossOverTest a bit more
...
llvm-svn: 312695
2017-09-07 05:23:23 +00:00
Kostya Serebryany
d0386fac26
[libFuzzer] simplify and re-enable CustomCrossOverTest
...
llvm-svn: 312689
2017-09-07 02:04:06 +00:00
Kostya Serebryany
79cdf36a2c
[libFuzzer] remporary disable an unstable test
...
llvm-svn: 312593
2017-09-05 23:45:54 +00:00
Kostya Serebryany
07490f8415
[libFuzzer] use more iterations for a test
...
llvm-svn: 312356
2017-09-01 19:45:08 +00:00
George Karpenkov
2928375cd2
[libFuzzer] Enable 8-bit counters test on macOS
...
llvm-svn: 312339
2017-09-01 17:13:26 +00:00
Matt Morehouse
034126e507
[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer
...
Summary:
- Don't sanitize __sancov_lowest_stack.
- Don't instrument leaf functions.
- Add CoverageStackDepth to Fuzzer and FuzzerNoLink.
- Only enable on Linux.
Reviewers: vitalybuka, kcc, george.karpenkov
Reviewed By: kcc
Subscribers: kubamracek, cfe-commits, llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D37156
llvm-svn: 312185
2017-08-30 22:49:31 +00:00
Matt Morehouse
ba2e61b357
Revert "[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer"
...
This reverts r312026 due to bot breakage.
llvm-svn: 312047
2017-08-29 21:56:56 +00:00
Kostya Serebryany
4faeb87ebe
[libFUzzer] change the way we load the seed corpora: instead of loading all files and these executing all files, load and execute them one-by-one. This should reduce the memory usage in many cases
...
llvm-svn: 312033
2017-08-29 20:51:24 +00:00
Matt Morehouse
2ad8d948b2
[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer
...
Summary:
- Don't sanitize __sancov_lowest_stack.
- Don't instrument leaf functions.
- Add CoverageStackDepth to Fuzzer and FuzzerNoLink.
- Disable stack depth tracking on Mac.
Reviewers: vitalybuka, kcc, george.karpenkov
Reviewed By: kcc
Subscribers: kubamracek, cfe-commits, llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D37156
llvm-svn: 312026
2017-08-29 19:48:12 +00:00
Kostya Serebryany
c07008653c
[libFuzzer] allow -print_funcs=N: N is the max number of new covered function printed
...
llvm-svn: 311945
2017-08-28 22:52:22 +00:00
George Karpenkov
52a3e48e9f
[libFuzzer] Exclude a test failing on OS X.
...
llvm-svn: 311916
2017-08-28 20:10:30 +00:00
Matt Morehouse
6ec7595b1e
Revert "[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer"
...
This reverts r311801 due to a bot failure.
llvm-svn: 311803
2017-08-25 22:01:21 +00:00
Matt Morehouse
f42bd31323
[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer
...
Summary:
- Don't sanitize __sancov_lowest_stack.
- Don't instrument leaf functions.
- Add CoverageStackDepth to Fuzzer and FuzzerNoLink.
Reviewers: vitalybuka, kcc
Reviewed By: kcc
Subscribers: cfe-commits, llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D37156
llvm-svn: 311801
2017-08-25 21:18:29 +00:00
Kostya Serebryany
09c4161029
[libFuzzer] prepare tests for switching from -fsanitize-coverage=trace-pc-guard to -fsanitize-coverage=inline-8bit-counters
...
llvm-svn: 311798
2017-08-25 20:20:46 +00:00
Kostya Serebryany
2eef816e6e
[libFuzzer] add -print_funcs=1 (on bey default): print newly discovered functions during fuzzing
...
llvm-svn: 311797
2017-08-25 20:09:25 +00:00
Kostya Serebryany
d3e4b7e24a
[sanitizer-coverage] extend fsanitize-coverage=pc-table with flags for every PC
...
llvm-svn: 311794
2017-08-25 19:29:47 +00:00
Matt Morehouse
b1fa8255db
[SanitizerCoverage] Optimize stack-depth instrumentation.
...
Summary:
Use the initialexec TLS type and eliminate calls to the TLS
wrapper. Fixes the sanitizer-x86_64-linux-fuzzer bot failure.
Reviewers: vitalybuka, kcc
Reviewed By: kcc
Subscribers: hiraditya, llvm-commits
Differential Revision: https://reviews.llvm.org/D37026
llvm-svn: 311490
2017-08-22 21:28:29 +00:00
Kostya Serebryany
868e69091c
[libFuzzer] disable a test failing on the bot
...
llvm-svn: 311427
2017-08-22 05:15:57 +00:00