Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						4ea4cb3197 
					 
					
						
						
							
							[lib/Fuzzer] start getting rid of std::cerr. Sadly, these parts of C++ library used in libFuzzer badly interract with the same code used in the target function and also with dfsan. It's easier to just not use std::cerr than to defeat these issues.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238078  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-05-23 01:07:46 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						05ef67b6b9 
					 
					
						
						
							
							[lib/Fuzzer] when -sync_command=<CMD> is given, periodically execute 'CMD CORPUS' to synchronize with other processes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237617  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-05-18 21:34:20 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						8ae273d380 
					 
					
						
						
							
							[lib/Fuzzer] use -fsanitize-coverage=trace-cmp when building LLVM with LLVM_USE_SANITIZE_COVERAGE; in lib/Fuzzer try to reload the corpus to pick up new units from other processes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236906  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-05-08 21:30:55 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						605f316258 
					 
					
						
						
							
							[lib/Fuzzer] on crash print the contents of the crashy input as base64  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236548  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-05-05 21:59:51 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						3399e1fd73 
					 
					
						
						
							
							[fuzzer] Add support for token-based fuzzing (e.g. for C++). Allow string flags.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233745  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-03-31 20:13:20 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						eb884daa38 
					 
					
						
						
							
							[fuzzer] make multi-process execution more verbose; fix mutation to actually respect mutation depth and to never produce empty units  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228170  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-02-04 19:10:20 +00:00 
						 
				 
			
				
					
						
							
							
								Aaron Ballman 
							
						 
					 
					
						
						
							
						
						94879c0134 
					 
					
						
						
							
							Reverting r227452, which adds back the fuzzer library. Now excluding the fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227464  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-01-29 16:58:29 +00:00 
						 
				 
			
				
					
						
							
							
								Aaron Ballman 
							
						 
					 
					
						
						
							
						
						f316f2ea52 
					 
					
						
						
							
							Temporarily reverting the fuzzer library as it causes too many build issues for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227452  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-01-29 15:49:22 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						1f3043175c 
					 
					
						
						
							
							[fuzzer] add option -save_minimized_corpus  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227395  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-01-28 23:48:39 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						c9baf3befb 
					 
					
						
						
							
							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 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227252  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2015-01-27 22:08:41 +00:00