summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/fuzzer
Commit message (Collapse)AuthorAgeFilesLines
...
* [fuzzer] Fix threaded stack printing and nested mallocsVitaly Buka2017-10-311-0/+19
| | | | | | | | | | | | Summary: Nested mallocs are possible with internal symbolizer. Reviewers: kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39397 llvm-svn: 317034
* [Sanitizers-libFuzzer] Addressing coding style issues.Alex Shlyapnikov2017-10-231-37/+44
| | | | | | | | | | | | Summary: The result of clang-format and few manual changes (as prompted on D39155). Reviewers: vitalybuka Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39211 llvm-svn: 316395
* [libFuzzer] Periodically purge allocator's quarantine to prolong fuzzing ↵Alex Shlyapnikov2017-10-236-1/+32
| | | | | | | | | | | | | | | | | | | | | sessions. Summary: Fuzzing targets that allocate/deallocate a lot of memory tend to consume a lot of RSS when ASan quarantine is enabled. Purging quarantine between iterations and returning memory to OS keeps RSS down and should not reduce the quarantine effectiveness provided the fuzz target does not preserve state between iterations (in this case this feature can be turned off). Based on D39153. Reviewers: vitalybuka Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39155 llvm-svn: 316382
* [libFuzzer] print a better warning if we hit the ld bugKostya Serebryany2017-10-141-3/+5
| | | | llvm-svn: 315778
* [Sanitizers] Always build libFuzzer with frame pointers.Alex Shlyapnikov2017-10-131-0/+2
| | | | | | | Lacking frame pointers, sanitized fuzzers collect bogus stack traces and the set of stack traces grows indefinitely, leading to OOMs. llvm-svn: 315770
* [libFuzzer] tweam use_feature_frequency to be less aggressive; run a dummy ↵Kostya Serebryany2017-10-132-6/+21
| | | | | | input before the seed corpus llvm-svn: 315657
* [libFuzzer] disable use_feature_frequency as it degrades some of the ↵Kostya Serebryany2017-10-111-1/+1
| | | | | | benchmarks too much :( llvm-svn: 315503
* [libFuzzer] make -use_feature_frequency less aggressive and enable by defaultKostya Serebryany2017-10-112-3/+2
| | | | llvm-svn: 315490
* [libFuzzer] experimental flag to tweak the corpus distribution. Seems to ↵Kostya Serebryany2017-10-115-9/+29
| | | | | | improve the situation dramatically on the png benchmark and make things worse on a number of micro-puzzles. Needs more A/B testing llvm-svn: 315407
* [libFuzzer] Disable experimental clang coverage support by default.Max Moroz2017-10-055-1/+8
| | | | | | | | | | | | | | | | | 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
* [libFuzzer] minor refactoring, NFCKostya Serebryany2017-09-153-7/+4
| | | | llvm-svn: 313406
* [libFuzzer] reduce the size of the merge control file by not dumping ↵Kostya Serebryany2017-09-151-9/+17
| | | | | | redundant features into it llvm-svn: 313403
* [libFuzzer] factor out some code into GetSizedFilesFromDir; NFCKostya Serebryany2017-09-123-19/+31
| | | | llvm-svn: 313081
* [libfuzzer] Compare TotalNumberOfRuns with MaxNumberOfRuns when testing a ↵Max Moroz2017-09-121-0/+2
| | | | | | | | | | | | | | | | | | | 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
* [libFuzzer] remove a couple of reduntant includesKostya Serebryany2017-09-092-2/+0
| | | | llvm-svn: 312848
* [libFuzzer] tolerate missing files when loading the seed corpusKostya Serebryany2017-08-311-1/+1
| | | | llvm-svn: 312269
* Add preliminary NetBSD support in libfuzzerKamil Rytarowski2017-08-305-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This code already works and passes some number of tests. There is need to finish remaining sanitizers to get better coverage. Many tests fail due to overly long file names of executables (>31). This is a current shortcoming of the NetBSD 8(beta) kernel, as certain functions can fail (like retrieving file name of executable). Sponsored by <The NetBSD Foundation> Reviewers: joerg, kcc, vitalybuka, george.karpenkov Reviewed By: kcc Subscribers: mgorny, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D37304 llvm-svn: 312183
* [libFUzzer] change the way we load the seed corpora: instead of loading all ↵Kostya Serebryany2017-08-294-51/+66
| | | | | | 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
* [libFuzzer] refactoring: move reading the seed corpus closer to where it's ↵Kostya Serebryany2017-08-293-29/+43
| | | | | | consumed; NFC llvm-svn: 311972
* [libFuzzer] allow -print_funcs=N: N is the max number of new covered ↵Kostya Serebryany2017-08-284-6/+13
| | | | | | function printed llvm-svn: 311945
* [libFuzzer] Fix libFuzzer flag propagation for standalone builds.George Karpenkov2017-08-281-2/+5
| | | | | | | | | Under the previous configurations, flags from SANITIZER_COMMON were not propagated for standalone builds. Differential Revision: https://reviews.llvm.org/D37225 llvm-svn: 311912
* [libFuzzer] Use custom allocators for STL containers in libFuzzer.George Karpenkov2017-08-2719-92/+113
| | | | | | | | Avoids ODR violations causing spurious ASAN warnings. Differential Revision: https://reviews.llvm.org/D37086 llvm-svn: 311866
* Revert "[libFuzzer] Use custom allocators for STL containers in libFuzzer"George Karpenkov2017-08-2618-83/+70
| | | | | | This reverts commit 3539efc2f2218dba2bcbd645d0fe276f2b5cf588. llvm-svn: 311831
* [libFuzzer] Use custom allocators for STL containers in libFuzzerGeorge Karpenkov2017-08-2618-70/+83
| | | | | | | | Avoids ODR violations causing spurious ASAN container overflow warnings. Differential Revision: https://reviews.llvm.org/D37086 llvm-svn: 311830
* [libFuzzer] prepare tests for switching from ↵Kostya Serebryany2017-08-251-1/+2
| | | | | | -fsanitize-coverage=trace-pc-guard to -fsanitize-coverage=inline-8bit-counters llvm-svn: 311798
* [libFuzzer] add -print_funcs=1 (on bey default): print newly discovered ↵Kostya Serebryany2017-08-256-6/+20
| | | | | | functions during fuzzing llvm-svn: 311797
* [sanitizer-coverage] extend fsanitize-coverage=pc-table with flags for every PCKostya Serebryany2017-08-252-10/+15
| | | | llvm-svn: 311794
* [SanitizerCoverage] Optimize stack-depth instrumentation.Matt Morehouse2017-08-221-1/+2
| | | | | | | | | | | | | | | | 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
* [libFuzzer] Move check for thread_local back into libFuzzer's CMake,George Karpenkov2017-08-221-0/+10
| | | | | | as it breaks builtin standalone build on some bots. llvm-svn: 311482
* [libFuzzer] fix the stack-depth initialization, add a lit test for ↵Kostya Serebryany2017-08-221-1/+3
| | | | | | DeepRecursionTest.cpp llvm-svn: 311421
* [libFuzzer] apply changes lost during the migration to compiler-rtKostya Serebryany2017-08-226-32/+108
| | | | llvm-svn: 311420
* [libFuzzer] better README.txtKostya Serebryany2017-08-221-2/+1
| | | | llvm-svn: 311418
* [libFuzzer] remove stale fileKostya Serebryany2017-08-221-122/+0
| | | | llvm-svn: 311417
* Move libFuzzer to compiler_rt.George Karpenkov2017-08-2149-0/+8227
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
OpenPOWER on IntegriCloud