llvm-project/llvm/lib/Fuzzer
Marcos Pividori 3984eb4ad0 [libFuzzer] Use clang as linker on Windows, to properly include sanitizer libraries.
In order to use sanitizers on Windows, we need to link against many runtime
libraries which will depend on the target being created (executable or dll) and
the c runtime library used (MT/MD).
By default, cmake uses link.exe for linking, which fails because we don't
specify the appropiate dependencies. As we don't want to consider all of that
possible situations which depends on the implementation of the compiler-rt, the
simplest option is to change the rules for linking executables and shared
libraries, using the compiler instead of link.exe.
Clang driver will consider the sanitizer flags, and automatically provide the
required libraries to the linker.

Differential Revision: https://reviews.llvm.org/D27869

llvm-svn: 292669
2017-01-20 22:49:08 +00:00
..
afl [libFuzzer] extend the messages printed by afl_driver 2016-07-19 23:18:28 +00:00
standalone [libFuzzer] add StandaloneFuzzTargetMain.c and a test for it 2016-10-25 22:30:34 +00:00
test [libFuzzer] Use clang as linker on Windows, to properly include sanitizer libraries. 2017-01-20 22:49:08 +00:00
CMakeLists.txt [libFuzzer] experimental support for 'equivalance fuzzing' 2017-01-20 20:57:07 +00:00
FuzzerCorpus.h Include <algorithm> for std::max etc 2016-12-30 00:15:40 +00:00
FuzzerCrossOver.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerDefs.h [libfuzzer] fixing collected pc addresses for coverage 2017-01-17 23:11:32 +00:00
FuzzerDictionary.h [libFuzzer] use table of recent compares for memcmp/strcmp (to unify the code between cmp and memcmp handling) 2017-01-17 23:09:05 +00:00
FuzzerDriver.cpp [libFuzzer] add an assert to protect against LLVMFuzzerInitialize changing argv[0] 2017-01-20 21:34:24 +00:00
FuzzerExtFunctions.def [libFuzzer] use __sanitizer_get_module_and_offset_for_pc to get the module name while printing the coverage 2016-12-10 01:19:35 +00:00
FuzzerExtFunctions.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtFunctionsDlsym.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtFunctionsWeak.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtFunctionsWeakAlias.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerFlags.def [libFuzzer] experimental support for 'equivalance fuzzing' 2017-01-20 20:57:07 +00:00
FuzzerIO.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerIO.h [libFuzzer] use /tmp (or $TMPDIR, if present) to store temp files during merge 2017-01-05 04:32:19 +00:00
FuzzerIOPosix.cpp [libFuzzer] use /tmp (or $TMPDIR, if present) to store temp files during merge 2017-01-05 04:32:19 +00:00
FuzzerIOWindows.cpp [libFuzzer] use /tmp (or $TMPDIR, if present) to store temp files during merge 2017-01-05 04:32:19 +00:00
FuzzerInterface.h [libFuzzer] use table of recent compares for memcmp/strcmp (to unify the code between cmp and memcmp handling) 2017-01-17 23:09:05 +00:00
FuzzerInternal.h [libFuzzer] experimental support for 'equivalance fuzzing' 2017-01-20 20:57:07 +00:00
FuzzerLoop.cpp [libFuzzer] experimental support for 'equivalance fuzzing' 2017-01-20 20:57:07 +00:00
FuzzerMain.cpp [libFuzzer] refactoring: split the large header into many; NFC 2016-09-21 01:50:50 +00:00
FuzzerMerge.cpp [libFuzzer] exit(1) on failed merge 2017-01-18 00:55:29 +00:00
FuzzerMerge.h [libFuzzer] use less memory for merge 2016-12-17 08:20:24 +00:00
FuzzerMutate.cpp [libFuzzer] ensure that entries in PersistentAutoDictionary are not empty 2017-01-19 21:14:47 +00:00
FuzzerMutate.h [libFuzzer] use table of recent compares for memcmp/strcmp (to unify the code between cmp and memcmp handling) 2017-01-17 23:09:05 +00:00
FuzzerOptions.h [libFuzzer] remove stale code 2017-01-18 01:10:18 +00:00
FuzzerRandom.h [libFuzzer] when mutating based on CMP traces also try adding +/- 1 to the desired bytes. Add another test for use_cmp 2016-10-25 20:15:15 +00:00
FuzzerSHA1.cpp [LibFuzzer] Split up some functions among different headers. 2016-11-30 19:06:14 +00:00
FuzzerSHA1.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerShmem.h [libFuzzer] experimental support for 'equivalance fuzzing' 2017-01-20 20:57:07 +00:00
FuzzerShmemPosix.cpp [libFuzzer] experimental support for 'equivalance fuzzing' 2017-01-20 20:57:07 +00:00
FuzzerTracePC.cpp [libfuzzer] fixing collected pc addresses for coverage 2017-01-17 23:11:32 +00:00
FuzzerTracePC.h [libfuzzer] fixing collected pc addresses for coverage 2017-01-17 23:11:32 +00:00
FuzzerTraceState.cpp [libFuzzer] remove stale code 2017-01-18 01:10:18 +00:00
FuzzerUtil.cpp [libFuzzer] Properly use unsigned for workers, jobs and NumberOfCpuCores. 2016-12-13 17:45:53 +00:00
FuzzerUtil.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerUtilDarwin.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerUtilLinux.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerUtilPosix.cpp [libFuzzer] improve error handling during the merge (handle various IO failures) 2017-01-05 22:05:47 +00:00
FuzzerUtilWindows.cpp [libFuzzer] improve error handling during the merge (handle various IO failures) 2017-01-05 22:05:47 +00:00
FuzzerValueBitMap.h [libFuzzer] refactoring to make -shrink=1 work for value profile, added a test. 2016-10-05 22:56:21 +00:00
README.txt
build.sh [libFuzzer] when shrinking the corpus, delete evicted files previously created by the current process 2016-10-08 23:24:45 +00:00
cxx.dict [libFuzzer] add AFL-style dictionary for C++, remove the old file with tokens 2015-12-22 01:50:51 +00:00

README.txt

Move to http://llvm.org/docs/LibFuzzer.html