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
Kostya Serebryany
33fb36c353
[libFuzzer] fix the stack-depth initialization, add a lit test for DeepRecursionTest.cpp
...
llvm-svn: 311421
2017-08-22 01:50:00 +00:00
George Karpenkov
e4c5322992
[NFC] do not run linter on libFuzzer's tests.
...
llvm-svn: 311419
2017-08-22 01:19:17 +00:00
George Karpenkov
92d8000487
Remove check-fuzzer from check-all, as tests don't pass on some bots.
...
llvm-svn: 311415
2017-08-22 00:54:57 +00:00
George Karpenkov
10ab2ace13
Move libFuzzer to compiler_rt.
...
Resulting library binaries will be named libclang_rt.fuzzer*, and will
be placed in Clang toolchain, allowing redistribution.
Differential Revision: https://reviews.llvm.org/D36908
llvm-svn: 311407
2017-08-21 23:25:50 +00:00