aca7696f4d 
								
							 
						 
						
							
							
								
								[libFuzzer] introduce LLVMFuzzerInitialize  
							
							... 
							
							
							
							llvm-svn: 257980 
							
						 
						
							2016-01-16 01:23:12 +00:00  
				
					
						
							
							
								 
						
							
								20bb5e71b2 
								
							 
						 
						
							
							
								
								[libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated.  
							
							... 
							
							
							
							llvm-svn: 249214 
							
						 
						
							2015-10-02 23:34:06 +00:00  
				
					
						
							
							
								 
						
							
								566bc5aa8a 
								
							 
						 
						
							
							
								
								[lib/Fuzzer] rename TestOneInput to LLVMFuzzerTestOneInput to make it more unique  
							
							... 
							
							
							
							llvm-svn: 236652 
							
						 
						
							2015-05-06 22:19:00 +00:00  
				
					
						
							
							
								 
						
							
								016852c396 
								
							 
						 
						
							
							
								
								[fuzzer] split main() into FuzzerDriver() that takes a callback as a parameter and a tiny main() in a separate file  
							
							... 
							
							
							
							llvm-svn: 229882 
							
						 
						
							2015-02-19 18:45:37 +00:00  
				
					
						
							
							
								 
						
							
								db4d645714 
								
							 
						 
						
							
							
								
								[fuzzer] move default sanitizer options to a separate file  
							
							... 
							
							
							
							llvm-svn: 228429 
							
						 
						
							2015-02-06 19:52:07 +00:00  
				
					
						
							
							
								 
						
							
								92e0476c67 
								
							 
						 
						
							
							
								
								[fuzzer] add flag prefer_small_during_initial_shuffle, be a bit more verbose  
							
							... 
							
							
							
							llvm-svn: 228235 
							
						 
						
							2015-02-04 23:42:42 +00:00  
				
					
						
							
							
								 
						
							
								33f866922a 
								
							 
						 
						
							
							
								
								[fuzzer] add -runs=N to limit the number of runs per session. Also, make sure we do some mutations w/o cross over.  
							
							... 
							
							
							
							llvm-svn: 228214 
							
						 
						
							2015-02-04 22:20:09 +00:00  
				
					
						
							
							
								 
						
							
								5b266a8a23 
								
							 
						 
						
							
							
								
								[fuzzer] make multi-process execution more verbose; fix mutation to actually respect mutation depth and to never produce empty units  
							
							... 
							
							
							
							llvm-svn: 228170 
							
						 
						
							2015-02-04 19:10:20 +00:00  
				
					
						
							
							
								 
						
							
								fe43aa8d19 
								
							 
						 
						
							
							
								
								[fuzzer]: fix exit code, add more diagnostics  
							
							... 
							
							
							
							llvm-svn: 228103 
							
						 
						
							2015-02-04 01:22:57 +00:00  
				
					
						
							
							
								 
						
							
								e8cee11570 
								
							 
						 
						
							
							
								
								[fuzzer] add flags to run fuzzer in multiple parallel processes  
							
							... 
							
							
							
							llvm-svn: 227664 
							
						 
						
							2015-01-31 01:14:40 +00:00  
				
					
						
							
							
								 
						
							
								2c1b33b897 
								
							 
						 
						
							
							
								
								[fuzzer] add -use_full_coverage_set=1 which solves FullCoverageSetTest. This does not scale very well yet, but might be a good start.  
							
							... 
							
							
							
							llvm-svn: 227507 
							
						 
						
							2015-01-29 23:01:07 +00:00  
				
					
						
							
							
								 
						
							
								ef11698cac 
								
							 
						 
						
							
							
								
								Reverting r227452, which adds back the fuzzer library. Now excluding the fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset.  
							
							... 
							
							
							
							llvm-svn: 227464 
							
						 
						
							2015-01-29 16:58:29 +00:00  
				
					
						
							
							
								 
						
							
								7b54ed221a 
								
							 
						 
						
							
							
								
								Temporarily reverting the fuzzer library as it causes too many build issues for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252  
							
							... 
							
							
							
							llvm-svn: 227452 
							
						 
						
							2015-01-29 15:49:22 +00:00  
				
					
						
							
							
								 
						
							
								265cf04f9c 
								
							 
						 
						
							
							
								
								[fuzzer] add option -save_minimized_corpus  
							
							... 
							
							
							
							llvm-svn: 227395 
							
						 
						
							2015-01-28 23:48:39 +00:00  
				
					
						
							
							
								 
						
							
								bfa3f9d82f 
								
							 
						 
						
							
							
								
								[fuzzer] properly enable asan's coverage feedback  
							
							... 
							
							
							
							llvm-svn: 227254 
							
						 
						
							2015-01-27 22:19:55 +00:00  
				
					
						
							
							
								 
						
							
								d53b43fe11 
								
							 
						 
						
							
							
								
								Add a Fuzzer library  
							
							... 
							
							
							
							Summary:
A simple genetic in-process coverage-guided fuzz testing library.
I've used this fuzzer to test clang-format
(it found 12+ bugs, thanks djasper@ for the fixes!)
and it may also help us test other parts of LLVM.
So why not keep it in the LLVM repository?
I plan to add the cmake build rules later (in a separate patch, if that's ok)
and also add a clang-format-fuzzer target.
See README.txt for details.
Test Plan: Tests will follow separately.
Reviewers: djasper, chandlerc, rnk
Reviewed By: rnk
Subscribers: majnemer, ygribov, dblaikie, llvm-commits
Differential Revision: http://reviews.llvm.org/D7184 
llvm-svn: 227252 
							
						 
						
							2015-01-27 22:08:41 +00:00