04580518ce 
								
							 
						 
						
							
							
								
								tsan: more fd interceptors + bug fixes + tests  
							
							... 
							
							
							
							llvm-svn: 169621 
							
						 
						
							2012-12-07 18:30:40 +00:00  
				
					
						
							
							
								 
						
							
								4e7c0f95fb 
								
							 
						 
						
							
							
								
								tsan: add pipe interceptors  
							
							... 
							
							
							
							llvm-svn: 169602 
							
						 
						
							2012-12-07 15:32:56 +00:00  
				
					
						
							
							
								 
						
							
								fd5ebcd1b0 
								
							 
						 
						
							
							
								
								tsan: add mutexsets to reports  
							
							... 
							
							
							
							With this change reports say what mutexes the threads hold around the racy memory accesses.
llvm-svn: 169493 
							
						 
						
							2012-12-06 12:16:15 +00:00  
				
					
						
							
							
								 
						
							
								c446aa039a 
								
							 
						 
						
							
							
								
								tsan: provide own implementation of __cxa_guard_xxx functions  
							
							... 
							
							
							
							that way we allow static linking of libstdc++
llvm-svn: 169376 
							
						 
						
							2012-12-05 12:10:22 +00:00  
				
					
						
							
							
								 
						
							
								1450ac6406 
								
							 
						 
						
							
							
								
								tsan: add __libc_memalign interceptor (used by dynamic loader to allocate tls for dlopen'ed modules)  
							
							... 
							
							
							
							llvm-svn: 169017 
							
						 
						
							2012-11-30 17:27:58 +00:00  
				
					
						
							
							
								 
						
							
								59d58665ee 
								
							 
						 
						
							
							
								
								tsan: add 128-bit atomic operations  
							
							... 
							
							
							
							llvm-svn: 168683 
							
						 
						
							2012-11-27 07:41:27 +00:00  
				
					
						
							
							
								 
						
							
								3b4501254f 
								
							 
						 
						
							
							
								
								tsan: add atomic nand operation  
							
							... 
							
							
							
							llvm-svn: 168584 
							
						 
						
							2012-11-26 09:42:56 +00:00  
				
					
						
							
							
								 
						
							
								262465c126 
								
							 
						 
						
							
							
								
								tsan: eevn better handling of signals  
							
							... 
							
							
							
							add interceptor for poll()
in addition process signals in every atomic op
in addition process signals in blocking libc functions
llvm-svn: 168050 
							
						 
						
							2012-11-15 17:40:49 +00:00  
				
					
						
							
							
								 
						
							
								317f39290d 
								
							 
						 
						
							
							
								
								tsan: intercept gettimeofday()  
							
							... 
							
							
							
							llvm-svn: 167630 
							
						 
						
							2012-11-09 19:55:06 +00:00  
				
					
						
							
							
								 
						
							
								ad9d65feb8 
								
							 
						 
						
							
							
								
								[TSan] finally remove TsanPrintf in favor of Printf from sanitizer_common  
							
							... 
							
							
							
							llvm-svn: 167294 
							
						 
						
							2012-11-02 12:17:51 +00:00  
				
					
						
							
							
								 
						
							
								ab7a4ea485 
								
							 
						 
						
							
							
								
								Revert the lockf() support.  
							
							... 
							
							
							
							llvm-svn: 163614 
							
						 
						
							2012-09-11 11:59:05 +00:00  
				
					
						
							
							
								 
						
							
								1a471772b0 
								
							 
						 
						
							
							
								
								Interceptors for lockf and lockf64, minor calloc() fix.  
							
							... 
							
							
							
							llvm-svn: 163602 
							
						 
						
							2012-09-11 09:26:35 +00:00  
				
					
						
							
							
								 
						
							
								51ae983718 
								
							 
						 
						
							
							
								
								[Sanitizer]: Introduce a common internal printf function. For now, also use tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms).  
							
							... 
							
							
							
							llvm-svn: 158065 
							
						 
						
							2012-06-06 13:11:29 +00:00  
				
					
						
							
							
								 
						
							
								ac4c290d02 
								
							 
						 
						
							
							
								
								[TSan] run some renaming as a preparation for factoring out Printf implementation.  
							
							... 
							
							
							
							llvm-svn: 158058 
							
						 
						
							2012-06-06 10:13:27 +00:00  
				
					
						
							
							
								 
						
							
								3b2f9f4c98 
								
							 
						 
						
							
							
								
								Remove file-type tags in .cc files in tsan/ and sanitizer_common/  
							
							... 
							
							
							
							llvm-svn: 157928 
							
						 
						
							2012-06-04 13:55:19 +00:00  
				
					
						
							
							
								 
						
							
								95a5c5ca4c 
								
							 
						 
						
							
							
								
								tsan: intercept longjmp() but die in it, greatly simplifies problem diagnostic  
							
							... 
							
							
							
							llvm-svn: 157760 
							
						 
						
							2012-05-31 18:03:59 +00:00  
				
					
						
							
							
								 
						
							
								4ad375f0a9 
								
							 
						 
						
							
							
								
								[tsan] First commit of ThreadSanitizer (TSan) run-time library.  
							
							... 
							
							
							
							Algorithm description: http://code.google.com/p/thread-sanitizer/wiki/ThreadSanitizerAlgorithm 
Status:
The tool is known to work on large real-life applications, but still has quite a few rough edges.
Nothing is guaranteed yet.
The tool works on x86_64 Linux.
Support for 64-bit MacOS 10.7+ is planned for late 2012.
Support for 32-bit OSes is doable, but problematic and not yet planed.
Further commits coming:
  - tests
  - makefiles
  - documentation
  - clang driver patch
The code was previously developed at http://code.google.com/p/data-race-test/source/browse/trunk/v2/ 
by Dmitry Vyukov and Kostya Serebryany with contributions from
Timur Iskhodzhanov, Alexander Potapenko, Alexey Samsonov and Evgeniy Stepanov.
llvm-svn: 156542 
							
						 
						
							2012-05-10 13:48:04 +00:00