llvm-project/compiler-rt/lib/fuzzer
Max Moroz ad7b908b4e [libFuzzer] Make dataflow and focus functions more user friendly.
Summary:
- Fail loudly if SetFocusFunction failed when it should not. For more info see
  - https://github.com/google/oss-fuzz/issues/3311
  - https://github.com/google/sanitizers/issues/1190
- Fail loudly if CollectDataFlow is called without seed corpus.

Reviewers: kcc, metzman

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D73813
2020-02-03 08:36:03 -08:00
..
afl [compiler-rt] [fuzzer] Include stdarg.h for va_list 2019-12-19 01:11:39 +01:00
dataflow [libFuzzer] split DataFlow.cpp into two .cpp files, one of which can be compiled w/o dfsan to speed things up (~25% speedup) 2019-06-21 01:39:35 +00:00
scripts [libFuzzer] remove the data-flow-trace (DFT) python scripts; their functionality is now part of libFuzzer proper; also write functions.txt to the disk only if this file doesn't exist yet 2019-05-23 01:03:42 +00:00
standalone [libFuzzer] fix missing close on opened file 2019-02-26 19:33:00 +00:00
tests reland [gtest] Fix printing of StringRef and SmallString in assert messages. 2019-08-21 13:56:29 +00:00
CMakeLists.txt [CMake] Refactor iOS simulator/device test configuration generation code for LibFuzzer. 2020-01-23 12:44:00 -08:00
FuzzerBuiltins.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerBuiltinsMsvc.h LibFuzzer support for 32bit MSVC 2019-08-22 20:44:34 +00:00
FuzzerCommand.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerCorpus.h [libFuzzer] add -features_dir= flag to dump unique input features on disk 2019-04-13 00:20:31 +00:00
FuzzerCrossOver.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerDataFlowTrace.cpp [libFuzzer] Make dataflow and focus functions more user friendly. 2020-02-03 08:36:03 -08:00
FuzzerDataFlowTrace.h [libFuzzer] in autofocus mode, give more weight to functions with DFT 2019-06-14 23:29:56 +00:00
FuzzerDefs.h [fuzzer] Add basic support for emscripten. 2019-12-12 08:56:47 -08:00
FuzzerDictionary.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerDriver.cpp [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found. 2020-01-22 12:56:16 -08:00
FuzzerExtFunctions.def [libFuzzer] Always print DSO map on Fuchsia libFuzzer launch 2019-09-17 00:34:41 +00:00
FuzzerExtFunctions.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerExtFunctionsDlsym.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerExtFunctionsWeak.cpp [fuzzer] Add basic support for emscripten. 2019-12-12 08:56:47 -08:00
FuzzerExtFunctionsWindows.cpp [libFuzzer] Remove extra semicolons 2019-02-26 17:46:13 +00:00
FuzzerExtraCounters.cpp [fuzzer] Add basic support for emscripten. 2019-12-12 08:56:47 -08:00
FuzzerFlags.def [compiler-rt] libFuzzer: update -merge_control_file= help message. 2019-12-12 11:09:40 -08:00
FuzzerFork.cpp [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 2019-06-14 22:56:50 +00:00
FuzzerFork.h [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. 2019-02-14 00:25:43 +00:00
FuzzerIO.cpp [libFuzzer] Fix fd check in DupAndCloseStderr. 2019-11-21 15:25:10 -08:00
FuzzerIO.h [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia. 2019-11-21 16:56:05 -08:00
FuzzerIOPosix.cpp [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia. 2019-11-21 16:56:05 -08:00
FuzzerIOWindows.cpp [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia. 2019-11-21 16:56:05 -08:00
FuzzerInterface.h [libFuzzer][Windows] Use dllexport for all declarations in FuzzerInterface.h 2019-01-28 17:51:13 +00:00
FuzzerInternal.h [libFuzzer] Merge: print feature coverage number as well. 2019-08-12 20:21:27 +00:00
FuzzerLoop.cpp [libFuzzer] Fix Alarm callback in fuchsia. 2019-10-09 21:01:50 +00:00
FuzzerMain.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerMerge.cpp [libFuzzer] Make -merge=1 to reuse coverage information from the control file. 2019-09-11 14:11:08 +00:00
FuzzerMerge.h [libFuzzer] fix the unit tests 2019-02-15 00:15:13 +00:00
FuzzerMutate.cpp [libFuzzer] Make MutateWithMask work when the Mask is shorter than the input. 2019-04-11 18:21:53 +00:00
FuzzerMutate.h [libFuzzer] refactor the way we choose the element to cross-over with, NFC (expected1); add a flag -seed_inputs= to pass extra seed inputs as file paths, not dirs 2019-02-08 01:20:54 +00:00
FuzzerOptions.h [libFuzzer] Remove lazy counters. 2019-10-01 22:49:06 +00:00
FuzzerRandom.h [libFuzzer] replace slow std::mt19937 with a much faster std::minstd_rand; second attempt after failed r352732, this time with a fix for cmake 2019-02-12 01:00:08 +00:00
FuzzerSHA1.cpp [libFuzzer][MSVC] Enable building libFuzzer with MSVC 2019-01-22 18:59:25 +00:00
FuzzerSHA1.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerTracePC.cpp [libFuzzer] Make dataflow and focus functions more user friendly. 2020-02-03 08:36:03 -08:00
FuzzerTracePC.h [libFuzzer] Remove lazy counters. 2019-10-01 22:49:06 +00:00
FuzzerUtil.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FuzzerUtil.h [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia. 2019-11-21 16:56:05 -08:00
FuzzerUtilDarwin.cpp [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia. 2019-11-21 16:56:05 -08:00
FuzzerUtilFuchsia.cpp [libFuzzer] Allow discarding output in ExecuteCommand in Fuchsia. 2020-01-17 12:15:46 -08:00
FuzzerUtilLinux.cpp [fuzzer] Add basic support for emscripten. 2019-12-12 08:56:47 -08:00
FuzzerUtilPosix.cpp [fuzzer] Add basic support for emscripten. 2019-12-12 08:56:47 -08:00
FuzzerUtilWindows.cpp [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia. 2019-11-21 16:56:05 -08:00
FuzzerValueBitMap.h [libFuzzer][MSVC] Enable building libFuzzer with MSVC 2019-01-22 18:59:25 +00:00
README.txt [libFuzzer] better README.txt 2017-08-22 01:15:40 +00:00
build.sh Switch from Bourne shell to simply base shell to build libfuzzer 2018-01-12 23:45:24 +00:00

README.txt

See http://llvm.org/docs/LibFuzzer.html