3076ba0a08 
								
							 
						 
						
							
							
								
								[sanitizer] Intercept getgrnam{_r}, getgrgid{_r}.  
							
							... 
							
							
							
							llvm-svn: 180091 
							
						 
						
							2013-04-23 12:01:20 +00:00  
				
					
						
							
							
								 
						
							
								6021e94774 
								
							 
						 
						
							
							
								
								[TSan] Allocate fd table in user heap instead of using internal allocator. We need this to catch races on fds.  
							
							... 
							
							
							
							llvm-svn: 179841 
							
						 
						
							2013-04-19 08:04:46 +00:00  
				
					
						
							
							
								 
						
							
								755eb32a39 
								
							 
						 
						
							
							
								
								[sanitizer] Add syscall handlers to ASan and TSan runtimes.  
							
							... 
							
							
							
							ASan checks addressability of syscall arguments. TSan does nothing for now.
llvm-svn: 179380 
							
						 
						
							2013-04-12 14:57:03 +00:00  
				
					
						
							
							
								 
						
							
								460067823b 
								
							 
						 
						
							
							
								
								[sanitizer] Interceptors for wait*.  
							
							... 
							
							
							
							llvm-svn: 179096 
							
						 
						
							2013-04-09 14:34:59 +00:00  
				
					
						
							
							
								 
						
							
								69967c2835 
								
							 
						 
						
							
							
								
								[msan] Intercept glob() with tests.  
							
							... 
							
							
							
							llvm-svn: 179091 
							
						 
						
							2013-04-09 11:35:13 +00:00  
				
					
						
							
							
								 
						
							
								7ad129277e 
								
							 
						 
						
							
							
								
								[Sanitizer] fix TSan tests: remove global ctor from sanitizer_common, run load_shared_lib test only in lit  
							
							... 
							
							
							
							llvm-svn: 179090 
							
						 
						
							2013-04-09 07:46:20 +00:00  
				
					
						
							
							
								 
						
							
								2b3c00eec7 
								
							 
						 
						
							
							
								
								Revert r179012: "[msan] Intercept glob()."  
							
							... 
							
							
							
							This was committed without tests and contains obvious bugs. That's not
acceptable. It broke address sanitizer for most programs using glob(3).
llvm-svn: 179054 
							
						 
						
							2013-04-08 20:59:44 +00:00  
				
					
						
							
							
								 
						
							
								8cd707a1a6 
								
							 
						 
						
							
							
								
								[msan] Intercept glob().  
							
							... 
							
							
							
							llvm-svn: 179012 
							
						 
						
							2013-04-08 09:03:00 +00:00  
				
					
						
							
							
								 
						
							
								e20c780aaf 
								
							 
						 
						
							
							
								
								[tsan] Fix build.  
							
							... 
							
							
							
							llvm-svn: 179008 
							
						 
						
							2013-04-08 08:46:25 +00:00  
				
					
						
							
							
								 
						
							
								734aab4066 
								
							 
						 
						
							
							
								
								[Sanitizer] Use a common mutex to prevent mixing reports from different sanitizers. This fixes PR15516  
							
							... 
							
							
							
							llvm-svn: 178853 
							
						 
						
							2013-04-05 07:30:29 +00:00  
				
					
						
							
							
								 
						
							
								bbfc722e46 
								
							 
						 
						
							
							
								
								[TSan] Add the WTFAnnotateBenignRaceSized implementation and a test for  
							
							... 
							
							
							
							WTFAnnotateBenignRaceSized and AnnotateBenignRaceSized.
llvm-svn: 178534 
							
						 
						
							2013-04-02 11:21:53 +00:00  
				
					
						
							
							
								 
						
							
								f8213b4eb3 
								
							 
						 
						
							
							
								
								[sanitizer] More interceptors.  
							
							... 
							
							
							
							getpwnam, getpwuid, getpwnam_r, getpwuid_r, clock_getres, clock_gettime,
clock_settime, getitimer, setitimer, sigaction (MSan).
llvm-svn: 178465 
							
						 
						
							2013-04-01 14:47:21 +00:00  
				
					
						
							
							
								 
						
							
								91952cda76 
								
							 
						 
						
							
							
								
								[tsan] restore performance critical inlining in tsan: remove static from ALWAYS_INLINE, use ALWAYS_INLINE USED for critical functions.  
							
							... 
							
							
							
							llvm-svn: 178341 
							
						 
						
							2013-03-29 09:44:16 +00:00  
				
					
						
							
							
								 
						
							
								23411d9a95 
								
							 
						 
						
							
							
								
								Band-aid fix for the TSan RTL build  
							
							... 
							
							
							
							llvm-svn: 178298 
							
						 
						
							2013-03-28 22:23:03 +00:00  
				
					
						
							
							
								 
						
							
								07d06d7cf5 
								
							 
						 
						
							
							
								
								Remove all 'static' before ALWAYS_INLINE  
							
							... 
							
							
							
							llvm-svn: 178290 
							
						 
						
							2013-03-28 21:16:09 +00:00  
				
					
						
							
							
								 
						
							
								a6788325cf 
								
							 
						 
						
							
							
								
								Make all the ALWAYS_INLINE users Windows-friendly; also, avoid ALWAYS_INLINE INLINE combinations  
							
							... 
							
							
							
							llvm-svn: 178266 
							
						 
						
							2013-03-28 18:52:40 +00:00  
				
					
						
							
							
								 
						
							
								f2cbda4082 
								
							 
						 
						
							
							
								
								tsan: print statistics about benign race annotations  
							
							... 
							
							
							
							(total count, unique, matched) if requested with print_benign=1
flag.
llvm-svn: 178245 
							
						 
						
							2013-03-28 16:21:19 +00:00  
				
					
						
							
							
								 
						
							
								b365d40415 
								
							 
						 
						
							
							
								
								tsan: print matched suppressions if print_suppressions=1 flag is provided  
							
							... 
							
							
							
							llvm-svn: 178159 
							
						 
						
							2013-03-27 17:59:57 +00:00  
				
					
						
							
							
								 
						
							
								6f4b34bcf4 
								
							 
						 
						
							
							
								
								asan/tsan: move strcasecmp() interceptor to sanitizer_common  
							
							... 
							
							
							
							llvm-svn: 178010 
							
						 
						
							2013-03-26 12:40:23 +00:00  
				
					
						
							
							
								 
						
							
								f8109dd0f8 
								
							 
						 
						
							
							
								
								[libsanitizer] Unmapping the old cache partially invalidates the memory layout, so add  
							
							... 
							
							
							
							a flag to skip cache update for cases when that's unacceptable (e.g. lsan).
Patch by Sergey Matveev (earthdok@google.com )
llvm-svn: 178000 
							
						 
						
							2013-03-26 10:34:37 +00:00  
				
					
						
							
							
								 
						
							
								4adf49d253 
								
							 
						 
						
							
							
								
								tsan: intercept setjmp/longjmp  
							
							... 
							
							
							
							llvm-svn: 177858 
							
						 
						
							2013-03-25 10:10:44 +00:00  
				
					
						
							
							
								 
						
							
								c91e327cba 
								
							 
						 
						
							
							
								
								Build and install .syms files alongside sanitizer runtimes. These are used to  
							
							... 
							
							
							
							specify which symbols are exported to DSOs when the sanitizer is statically
linked into a binary.
llvm-svn: 177784 
							
						 
						
							2013-03-23 00:31:07 +00:00  
				
					
						
							
							
								 
						
							
								9af68719ed 
								
							 
						 
						
							
							
								
								tsan: return 0 on malloc() failure instead of crashing  
							
							... 
							
							
							
							llvm-svn: 177741 
							
						 
						
							2013-03-22 17:06:22 +00:00  
				
					
						
							
							
								 
						
							
								ebf63d0095 
								
							 
						 
						
							
							
								
								tsan: better reporting of thread leaks  
							
							... 
							
							
							
							1. do not report running threads as leaks
2. aggregate leaked threads by creation stack
llvm-svn: 177647 
							
						 
						
							2013-03-21 16:55:17 +00:00  
				
					
						
							
							
								 
						
							
								0851fa8819 
								
							 
						 
						
							
							
								
								tsan: better reporting for races on vptr  
							
							... 
							
							
							
							explicitly say "ctor/dtor vs virtual call"
llvm-svn: 177640 
							
						 
						
							2013-03-21 15:37:39 +00:00  
				
					
						
							
							
								 
						
							
								2c3b919ad3 
								
							 
						 
						
							
							
								
								tsan: add flag to control symbolizer flush frequency  
							
							... 
							
							
							
							llvm-svn: 177638 
							
						 
						
							2013-03-21 13:01:50 +00:00  
				
					
						
							
							
								 
						
							
								69c323d66f 
								
							 
						 
						
							
							
								
								tsan: intercept abort() to fflush() libc streams  
							
							... 
							
							
							
							llvm-svn: 177637 
							
						 
						
							2013-03-21 12:50:43 +00:00  
				
					
						
							
							
								 
						
							
								6911a7f1d1 
								
							 
						 
						
							
							
								
								tsan: remove bogus CHECK  
							
							... 
							
							
							
							Asynchronous signal (e.g. SIGABRT) can be received with any value of in_rtl.
llvm-svn: 177636 
							
						 
						
							2013-03-21 12:44:44 +00:00  
				
					
						
							
							
								 
						
							
								48e5d4a2d3 
								
							 
						 
						
							
							
								
								tsan: flush symbolizer cache if not symbolized for more than 5 seconds  
							
							... 
							
							
							
							llvm-svn: 177629 
							
						 
						
							2013-03-21 07:02:36 +00:00  
				
					
						
							
							
								 
						
							
								5e797a8e57 
								
							 
						 
						
							
							
								
								tsan: add a comment about magic numbers  
							
							... 
							
							
							
							llvm-svn: 177628 
							
						 
						
							2013-03-21 06:28:04 +00:00  
				
					
						
							
							
								 
						
							
								78693730a4 
								
							 
						 
						
							
							
								
								tsan: use a single background thread for memory profiler and memory flush (and later for symbolizer flush)  
							
							... 
							
							
							
							llvm-svn: 177627 
							
						 
						
							2013-03-21 06:24:31 +00:00  
				
					
						
							
							
								 
						
							
								6120bac6e6 
								
							 
						 
						
							
							
								
								tsan: correct sizes of signal-related data structures  
							
							... 
							
							
							
							llvm-svn: 177526 
							
						 
						
							2013-03-20 14:57:28 +00:00  
				
					
						
							
							
								 
						
							
								9f94dff7a6 
								
							 
						 
						
							
							
								
								tsan: add missing stat descriptions  
							
							... 
							
							
							
							llvm-svn: 177523 
							
						 
						
							2013-03-20 14:04:23 +00:00  
				
					
						
							
							
								 
						
							
								0954e9c01d 
								
							 
						 
						
							
							
								
								tsan: call fflush(0) on exit again  
							
							... 
							
							
							
							llvm-svn: 177522 
							
						 
						
							2013-03-20 14:01:10 +00:00  
				
					
						
							
							
								 
						
							
								c638a7127e 
								
							 
						 
						
							
							
								
								tsan: reduce size of mutexsets from 64 to 16 mutexes  
							
							... 
							
							
							
							overflow is handled anyway
saves memory because each thread holds 1024 mutexsets
llvm-svn: 177520 
							
						 
						
							2013-03-20 13:50:47 +00:00  
				
					
						
							
							
								 
						
							
								b62c158d81 
								
							 
						 
						
							
							
								
								tsan: special handling of .rodata (don't try to find races, don't keep shadow, dont' put into traces)  
							
							... 
							
							
							
							llvm-svn: 177517 
							
						 
						
							2013-03-20 13:21:50 +00:00  
				
					
						
							
							
								 
						
							
								ccbdea956f 
								
							 
						 
						
							
							
								
								tsan: fix build  
							
							... 
							
							
							
							llvm-svn: 177513 
							
						 
						
							2013-03-20 11:22:03 +00:00  
				
					
						
							
							
								 
						
							
								79915de6af 
								
							 
						 
						
							
							
								
								tsan: move trace header into 0x600000000000 range  
							
							... 
							
							
							
							eliminat thread "dead info" altogether
llvm-svn: 177512 
							
						 
						
							2013-03-20 10:31:53 +00:00  
				
					
						
							
							
								 
						
							
								95eaa21637 
								
							 
						 
						
							
							
								
								[sanitizer] More renamed macros.  
							
							... 
							
							
							
							llvm-svn: 177401 
							
						 
						
							2013-03-19 14:54:17 +00:00  
				
					
						
							
							
								 
						
							
								0af672326a 
								
							 
						 
						
							
							
								
								[sanitizer] Replace more platform checks with SANITIZER_ constants.  
							
							... 
							
							
							
							llvm-svn: 177400 
							
						 
						
							2013-03-19 14:33:38 +00:00  
				
					
						
							
							
								 
						
							
								4ecfa696e0 
								
							 
						 
						
							
							
								
								tsan: flush dead thread info earlier (when another thread is finished rather than new thread is created)  
							
							... 
							
							
							
							llvm-svn: 177394 
							
						 
						
							2013-03-19 12:25:48 +00:00  
				
					
						
							
							
								 
						
							
								9dd06ad47a 
								
							 
						 
						
							
							
								
								tsan: instruct malloc() to consume less memory  
							
							... 
							
							
							
							llvm-svn: 177393 
							
						 
						
							2013-03-19 12:24:19 +00:00  
				
					
						
							
							
								 
						
							
								f3fde82667 
								
							 
						 
						
							
							
								
								tsan: symbolizer "flush caches" support  
							
							... 
							
							
							
							llvm-svn: 177389 
							
						 
						
							2013-03-19 10:24:01 +00:00  
				
					
						
							
							
								 
						
							
								509dab30ae 
								
							 
						 
						
							
							
								
								tsan: fix memory leak  
							
							... 
							
							
							
							llvm-svn: 177387 
							
						 
						
							2013-03-19 10:22:33 +00:00  
				
					
						
							
							
								 
						
							
								b4a218db34 
								
							 
						 
						
							
							
								
								[sanitizer] Don't adjust the size of the user-allocated stack.  
							
							... 
							
							
							
							Moved this code to sanitizer_common.
llvm-svn: 177383 
							
						 
						
							2013-03-19 09:30:52 +00:00  
				
					
						
							
							
								 
						
							
								b59fa875ad 
								
							 
						 
						
							
							
								
								tsan: do not allocate sync vars on relaxed atomic operations  
							
							... 
							
							
							
							helps to reduce memory consumption if an atomic is used only with relaxed ops (stats)
llvm-svn: 177381 
							
						 
						
							2013-03-19 09:15:31 +00:00  
				
					
						
							
							
								 
						
							
								4ddd37ba5b 
								
							 
						 
						
							
							
								
								tsan: smaller memory block headers (32b->16b)  
							
							... 
							
							
							
							llvm-svn: 177312 
							
						 
						
							2013-03-18 19:47:36 +00:00  
				
					
						
							
							
								 
						
							
								61ce9560d4 
								
							 
						 
						
							
							
								
								tsan: add support for idle threads  
							
							... 
							
							
							
							llvm-svn: 177292 
							
						 
						
							2013-03-18 17:21:15 +00:00  
				
					
						
							
							
								 
						
							
								ce26a0aa92 
								
							 
						 
						
							
							
								
								tsan: touch less shadow memory during operations on big memory ranges  
							
							... 
							
							
							
							greatly reduces memory consumption
llvm-svn: 177289 
							
						 
						
							2013-03-18 16:56:48 +00:00  
				
					
						
							
							
								 
						
							
								2e7f29f042 
								
							 
						 
						
							
							
								
								tsan: mark shadow for thread stack as "don't need" when thread exits  
							
							... 
							
							
							
							llvm-svn: 177288 
							
						 
						
							2013-03-18 15:49:07 +00:00  
				
					
						
							
							
								 
						
							
								f123337275 
								
							 
						 
						
							
							
								
								tsan: better memory profiler  
							
							... 
							
							
							
							llvm-svn: 177286 
							
						 
						
							2013-03-18 13:55:33 +00:00  
				
					
						
							
							
								 
						
							
								15bee188c4 
								
							 
						 
						
							
							
								
								tsan: madvise(DONTNEED) shadow memory on munmap()  
							
							... 
							
							
							
							llvm-svn: 177278 
							
						 
						
							2013-03-18 11:51:51 +00:00  
				
					
						
							
							
								 
						
							
								20bf8c7778 
								
							 
						 
						
							
							
								
								tsan: move implementation out of h file  
							
							... 
							
							
							
							llvm-svn: 177269 
							
						 
						
							2013-03-18 10:32:21 +00:00  
				
					
						
							
							
								 
						
							
								49e462fab2 
								
							 
						 
						
							
							
								
								tsan: fix clang -Wall build  
							
							... 
							
							
							
							Clang does not like classes with virtual functions but w/o virtual dtor.
Go does not like libstdc++ (operator delete).
llvm-svn: 177267 
							
						 
						
							2013-03-18 10:10:15 +00:00  
				
					
						
							
							
								 
						
							
								b5d10f69e4 
								
							 
						 
						
							
							
								
								[TSan] re-apply r177249 lost in edits  
							
							... 
							
							
							
							llvm-svn: 177265 
							
						 
						
							2013-03-18 09:45:22 +00:00  
				
					
						
							
							
								 
						
							
								a1bdd2d942 
								
							 
						 
						
							
							
								
								tsan: fix memory leak  
							
							... 
							
							
							
							llvm-svn: 177262 
							
						 
						
							2013-03-18 09:09:41 +00:00  
				
					
						
							
							
								 
						
							
								7cd2025c4d 
								
							 
						 
						
							
							
								
								tsan: use StackDepot for thread creation stacks  
							
							... 
							
							
							
							llvm-svn: 177261 
							
						 
						
							2013-03-18 09:02:27 +00:00  
				
					
						
							
							
								 
						
							
								50160030e1 
								
							 
						 
						
							
							
								
								tsan: fix Go build  
							
							... 
							
							
							
							llvm-svn: 177260 
							
						 
						
							2013-03-18 08:52:46 +00:00  
				
					
						
							
							
								 
						
							
								a221620b2e 
								
							 
						 
						
							
							
								
								tsan: use StackDepot in sync object to store creation stacks  
							
							... 
							
							
							
							llvm-svn: 177258 
							
						 
						
							2013-03-18 08:27:47 +00:00  
				
					
						
							
							
								 
						
							
								cbed82ea70 
								
							 
						 
						
							
							
								
								[TSan] fix undefined variable in debug TSan build  
							
							... 
							
							
							
							llvm-svn: 177249 
							
						 
						
							2013-03-18 07:33:00 +00:00  
				
					
						
							
							
								 
						
							
								4f1c8a13d5 
								
							 
						 
						
							
							
								
								[TSan] Use ThreadRegistry::FindThreadContextLocked() to find thread by its stack/tls address.  
							
							... 
							
							
							
							llvm-svn: 177248 
							
						 
						
							2013-03-18 07:02:08 +00:00  
				
					
						
							
							
								 
						
							
								e1955b851d 
								
							 
						 
						
							
							
								
								[TSan] Makefiles: allow configurable paths to clang and FileCheck. Add -fno-rtti flag.  
							
							... 
							
							
							
							llvm-svn: 177247 
							
						 
						
							2013-03-18 07:00:36 +00:00  
				
					
						
							
							
								 
						
							
								9aecdfe34d 
								
							 
						 
						
							
							
								
								[TSan] Switch TSan runtime to use ThreadRegistry class from sanitizer_common  
							
							... 
							
							
							
							llvm-svn: 177154 
							
						 
						
							2013-03-15 13:48:44 +00:00  
				
					
						
							
							
								 
						
							
								231894a902 
								
							 
						 
						
							
							
								
								[sanitizer] Intercept frexp and friends.  
							
							... 
							
							
							
							llvm-svn: 177056 
							
						 
						
							2013-03-14 11:34:39 +00:00  
				
					
						
							
							
								 
						
							
								41a560b8cd 
								
							 
						 
						
							
							
								
								[TSan] Add missing header inclusion  
							
							... 
							
							
							
							llvm-svn: 177013 
							
						 
						
							2013-03-14 07:13:00 +00:00  
				
					
						
							
							
								 
						
							
								109ddd0fe4 
								
							 
						 
						
							
							
								
								[TSan] Use __sanitizer_pthread_attr_t in TSan  
							
							... 
							
							
							
							llvm-svn: 177012 
							
						 
						
							2013-03-14 07:10:52 +00:00  
				
					
						
							
							
								 
						
							
								5697b58ec4 
								
							 
						 
						
							
							
								
								[sanitizer] Move GetTlsSize code from TSan to sanitizer_common.  
							
							... 
							
							
							
							llvm-svn: 176938 
							
						 
						
							2013-03-13 08:19:53 +00:00  
				
					
						
							
							
								 
						
							
								06d3aa4884 
								
							 
						 
						
							
							
								
								[Sanitizer] Change MemoryMappingLayout methods to also report memory protection flags (for future use in leak checker). Patch by Sergey Matveev.  
							
							... 
							
							
							
							llvm-svn: 176931 
							
						 
						
							2013-03-13 06:51:02 +00:00  
				
					
						
							
							
								 
						
							
								85f0a7e644 
								
							 
						 
						
							
							
								
								[TSan] Add interceptor for malloc_usable_size()  
							
							... 
							
							
							
							llvm-svn: 176013 
							
						 
						
							2013-02-25 08:43:10 +00:00  
				
					
						
							
							
								 
						
							
								ea61d08185 
								
							 
						 
						
							
							
								
								[sanitizer] Add interceptors for localtime and friends.  
							
							... 
							
							
							
							llvm-svn: 175499 
							
						 
						
							2013-02-19 09:19:16 +00:00  
				
					
						
							
							
								 
						
							
								3e62fe8c23 
								
							 
						 
						
							
							
								
								[tsan] use our own GetEnv instead of libc's getenv  
							
							... 
							
							
							
							llvm-svn: 175498 
							
						 
						
							2013-02-19 08:19:13 +00:00  
				
					
						
							
							
								 
						
							
								965a10e07c 
								
							 
						 
						
							
							
								
								tsan: fix bug in suppression reading (suppressions from file were discarded)  
							
							... 
							
							
							
							llvm-svn: 175153 
							
						 
						
							2013-02-14 11:03:45 +00:00  
				
					
						
							
							
								 
						
							
								3c2489e2c3 
								
							 
						 
						
							
							
								
								tsan: do not imitate memory write on malloc() (Go)  
							
							... 
							
							
							
							better memory range access functions (put only 1 event to trace) (Go)
llvm-svn: 175056 
							
						 
						
							2013-02-13 13:05:36 +00:00  
				
					
						
							
							
								 
						
							
								d8cfb99a71 
								
							 
						 
						
							
							
								
								[sanitizer] Missing changes from r174960.  
							
							... 
							
							
							
							llvm-svn: 174962 
							
						 
						
							2013-02-12 12:02:49 +00:00  
				
					
						
							
							
								 
						
							
								e679798315 
								
							 
						 
						
							
							
								
								tsan: fix suppress_java logic  
							
							... 
							
							
							
							llvm-svn: 174635 
							
						 
						
							2013-02-07 17:12:28 +00:00  
				
					
						
							
							
								 
						
							
								effd98b0f4 
								
							 
						 
						
							
							
								
								tsan: intercept libc __res_iclose  
							
							... 
							
							
							
							this is required to catch close of file descriptors created in getaddrinfo()
llvm-svn: 174624 
							
						 
						
							2013-02-07 15:27:45 +00:00  
				
					
						
							
							
								 
						
							
								e94f4c048e 
								
							 
						 
						
							
							
								
								tsan: fix Go build  
							
							... 
							
							
							
							llvm-svn: 174622 
							
						 
						
							2013-02-07 15:26:55 +00:00  
				
					
						
							
							
								 
						
							
								85cc9b655d 
								
							 
						 
						
							
							
								
								[TSan] skip multiple internal frames, if necessary  
							
							... 
							
							
							
							llvm-svn: 174516 
							
						 
						
							2013-02-06 16:28:05 +00:00  
				
					
						
							
							
								 
						
							
								21bedab7a1 
								
							 
						 
						
							
							
								
								[tsan] improve FrameIsInternal  
							
							... 
							
							
							
							llvm-svn: 174506 
							
						 
						
							2013-02-06 14:32:16 +00:00  
				
					
						
							
							
								 
						
							
								4fb340d972 
								
							 
						 
						
							
							
								
								[tsan] print error summary line  
							
							... 
							
							
							
							llvm-svn: 174505 
							
						 
						
							2013-02-06 14:24:00 +00:00  
				
					
						
							
							
								 
						
							
								34157fc33f 
								
							 
						 
						
							
							
								
								[ASan] Delete the code related to static runtime on OS X.  
							
							... 
							
							
							
							Nuke lib/interception/mach_override.
llvm-svn: 174383 
							
						 
						
							2013-02-05 15:57:12 +00:00  
				
					
						
							
							
								 
						
							
								606de60163 
								
							 
						 
						
							
							
								
								tsan: intercept bind/listen  
							
							... 
							
							
							
							llvm-svn: 174311 
							
						 
						
							2013-02-04 08:06:32 +00:00  
				
					
						
							
							
								 
						
							
								39313b780d 
								
							 
						 
						
							
							
								
								[Sanitizer] make internal_open have the same interface as libc version  
							
							... 
							
							
							
							llvm-svn: 174187 
							
						 
						
							2013-02-01 15:58:46 +00:00  
				
					
						
							
							
								 
						
							
								1fab680c1b 
								
							 
						 
						
							
							
								
								tsan: catch races on fd in more cases  
							
							... 
							
							
							
							llvm-svn: 174184 
							
						 
						
							2013-02-01 15:52:35 +00:00  
				
					
						
							
							
								 
						
							
								87c6bb9716 
								
							 
						 
						
							
							
								
								tsan: even if races between atomic and plain memory accesses are turned off (report_atomic_races=0),  
							
							... 
							
							
							
							still report races between atomic accesses and free().
llvm-svn: 174175 
							
						 
						
							2013-02-01 14:41:58 +00:00  
				
					
						
							
							
								 
						
							
								628df38e95 
								
							 
						 
						
							
							
								
								tsan: say that the memory access is atomic in reports  
							
							... 
							
							
							
							llvm-svn: 174168 
							
						 
						
							2013-02-01 11:10:53 +00:00  
				
					
						
							
							
								 
						
							
								aa6af4ddd1 
								
							 
						 
						
							
							
								
								tsan: remember 2 stack frames for atomics (caller and atomic itself)  
							
							... 
							
							
							
							llvm-svn: 174167 
							
						 
						
							2013-02-01 11:01:17 +00:00  
				
					
						
							
							
								 
						
							
								52f0e4e1a0 
								
							 
						 
						
							
							
								
								tsan: add flag to not report races between atomic and plain memory accesses  
							
							... 
							
							
							
							llvm-svn: 174165 
							
						 
						
							2013-02-01 10:06:56 +00:00  
				
					
						
							
							
								 
						
							
								71242b064e 
								
							 
						 
						
							
							
								
								tsan: flip is_write bit in shadow to is_read  
							
							... 
							
							
							
							this makes calculation of interesting predicates faster
llvm-svn: 174164 
							
						 
						
							2013-02-01 10:02:55 +00:00  
				
					
						
							
							
								 
						
							
								ba4291480d 
								
							 
						 
						
							
							
								
								tsan: detect races between plain and atomic memory accesses  
							
							... 
							
							
							
							llvm-svn: 174163 
							
						 
						
							2013-02-01 09:42:06 +00:00  
				
					
						
							
							
								 
						
							
								bda64b4d40 
								
							 
						 
						
							
							
								
								[sanitizer] make the error messages from sanitizer_common contain the actual tool name  
							
							... 
							
							
							
							llvm-svn: 174059 
							
						 
						
							2013-01-31 14:11:21 +00:00  
				
					
						
							
							
								 
						
							
								6095285d0b 
								
							 
						 
						
							
							
								
								tsan: do not check for intersecting memory accesses in Go (all accesses are 1 byte)  
							
							... 
							
							
							
							llvm-svn: 174046 
							
						 
						
							2013-01-31 07:47:58 +00:00  
				
					
						
							
							
								 
						
							
								087efd23d6 
								
							 
						 
						
							
							
								
								tsan: fix CPP_WEAK definition (it must be the other way around)  
							
							... 
							
							
							
							llvm-svn: 173932 
							
						 
						
							2013-01-30 14:38:44 +00:00  
				
					
						
							
							
								 
						
							
								32832e6176 
								
							 
						 
						
							
							
								
								[Sanitizer] include sanitizer_common headers when building interception library  
							
							... 
							
							
							
							llvm-svn: 173930 
							
						 
						
							2013-01-30 14:27:41 +00:00  
				
					
						
							
							
								 
						
							
								358698279d 
								
							 
						 
						
							
							
								
								[sanitizer] Further split private and public sanitizer headers.  
							
							... 
							
							
							
							And make msan_interface.h C-compatible.
llvm-svn: 173928 
							
						 
						
							2013-01-30 13:12:08 +00:00  
				
					
						
							
							
								 
						
							
								d6b9348bf3 
								
							 
						 
						
							
							
								
								tsan: introduce a helped macro CPP_WEAK (Go linker does not support weak symbols)  
							
							... 
							
							
							
							llvm-svn: 173917 
							
						 
						
							2013-01-30 09:46:53 +00:00  
				
					
						
							
							
								 
						
							
								5fbfafcd8c 
								
							 
						 
						
							
							
								
								tsan: add OnFinalize() callback for frontends  
							
							... 
							
							
							
							llvm-svn: 173915 
							
						 
						
							2013-01-30 09:24:00 +00:00  
				
					
						
							
							
								 
						
							
								49a32c1d08 
								
							 
						 
						
							
							
								
								[Sanitizer] update style checker script and fix namespace style warnings  
							
							... 
							
							
							
							llvm-svn: 173910 
							
						 
						
							2013-01-30 07:45:58 +00:00  
				
					
						
							
							
								 
						
							
								019ef67a97 
								
							 
						 
						
							
							
								
								tsan: dump stack on internal assert failure  
							
							... 
							
							
							
							llvm-svn: 173799 
							
						 
						
							2013-01-29 14:20:12 +00:00  
				
					
						
							
							
								 
						
							
								4399d92252 
								
							 
						 
						
							
							
								
								tsan: support for inprocess symbolizer  
							
							... 
							
							
							
							llvm-svn: 173797 
							
						 
						
							2013-01-29 13:05:30 +00:00  
				
					
						
							
							
								 
						
							
								b46930befa 
								
							 
						 
						
							
							
								
								tsan: remember when we are inside of symbolizer code (required for inprocess symbolizer)  
							
							... 
							
							
							
							llvm-svn: 173796 
							
						 
						
							2013-01-29 13:03:07 +00:00  
				
					
						
							
							
								 
						
							
								7943b69002 
								
							 
						 
						
							
							
								
								tsan: add IsSymbolizerAvailable() function for querying for presence of internal/external symbolizer  
							
							... 
							
							
							
							llvm-svn: 173783 
							
						 
						
							2013-01-29 09:35:14 +00:00  
				
					
						
							
							
								 
						
							
								b130fc3c0d 
								
							 
						 
						
							
							
								
								tsan: add interceptor stubs for stat family of functions  
							
							... 
							
							
							
							llvm-svn: 173782 
							
						 
						
							2013-01-29 09:23:09 +00:00  
				
					
						
							
							
								 
						
							
								fa79cd65e2 
								
							 
						 
						
							
							
								
								[sanitizer] fix calloc overflow in asan/tsan/msan  
							
							... 
							
							
							
							llvm-svn: 173441 
							
						 
						
							2013-01-25 11:46:22 +00:00  
				
					
						
							
							
								 
						
							
								4e3b9802bd 
								
							 
						 
						
							
							
								
								tsan: return the old fake numbers from malloc stats (some code already depends on them)  
							
							... 
							
							
							
							llvm-svn: 173348 
							
						 
						
							2013-01-24 14:07:19 +00:00  
				
					
						
							
							
								 
						
							
								f4f76b1c10 
								
							 
						 
						
							
							
								
								tsan: suppress reports using both stacks  
							
							... 
							
							
							
							llvm-svn: 173346 
							
						 
						
							2013-01-24 13:50:32 +00:00  
				
					
						
							
							
								 
						
							
								83566dadaf 
								
							 
						 
						
							
							
								
								tsan: allow a front-end to provide default suppressions  
							
							... 
							
							
							
							llvm-svn: 173345 
							
						 
						
							2013-01-24 13:50:10 +00:00  
				
					
						
							
							
								 
						
							
								6e406cda4b 
								
							 
						 
						
							
							
								
								tsan: implement malloc stats querying  
							
							... 
							
							
							
							llvm-svn: 173332 
							
						 
						
							2013-01-24 09:08:03 +00:00  
				
					
						
							
							
								 
						
							
								228921d71e 
								
							 
						 
						
							
							
								
								tsan: add stubs for malloc introspection (similar to what we have in asan)  
							
							... 
							
							
							
							llvm-svn: 173255 
							
						 
						
							2013-01-23 12:08:03 +00:00  
				
					
						
							
							
								 
						
							
								d0522c73b5 
								
							 
						 
						
							
							
								
								CMake: use add_compiler_rt_static_runtime to build TSan and MSan runtimes. No functionality change.  
							
							... 
							
							
							
							llvm-svn: 172978 
							
						 
						
							2013-01-20 14:14:13 +00:00  
				
					
						
							
							
								 
						
							
								01671c33ff 
								
							 
						 
						
							
							
								
								[sanitizer] lint  
							
							... 
							
							
							
							llvm-svn: 172817 
							
						 
						
							2013-01-18 13:12:56 +00:00  
				
					
						
							
							
								 
						
							
								a6c4a387ee 
								
							 
						 
						
							
							
								
								[sanitizer] Rename 2 files *.h->*.inc as appropriate.  
							
							... 
							
							
							
							Also add a missing include.
llvm-svn: 172814 
							
						 
						
							2013-01-18 13:01:18 +00:00  
				
					
						
							
							
								 
						
							
								193b45f4fe 
								
							 
						 
						
							
							
								
								CMake variables renaming: X86_64->x86_64 I386->i386  
							
							... 
							
							
							
							llvm-svn: 172812 
							
						 
						
							2013-01-18 12:45:44 +00:00  
				
					
						
							
							
								 
						
							
								222076e972 
								
							 
						 
						
							
							
								
								[sanitizer] Common *scanf interceptors.  
							
							... 
							
							
							
							llvm-svn: 172805 
							
						 
						
							2013-01-18 11:17:23 +00:00  
				
					
						
							
							
								 
						
							
								69fe0ba415 
								
							 
						 
						
							
							
								
								[sanitizer] reapply r172719, r172721-172723, r172725, and also fix the warning on Mac.  
							
							... 
							
							
							
							llvm-svn: 172791 
							
						 
						
							2013-01-18 06:43:13 +00:00  
				
					
						
							
							
								 
						
							
								7956e0094d 
								
							 
						 
						
							
							
								
								Revert r172719, r172721-172723, and r172725.  
							
							... 
							
							
							
							The r172719 patch broke the build on Mac, the others depended on it.
compiler-rt/lib/asan/asan_interceptors.cc:78:13: error: unused function
      'SetThreadName' [-Werror,-Wunused-function]
      static void SetThreadName(const char *name) {
Orignal headlines:
  [asan] attempting to fix the Mac build
  [asan] restructure read/pread/pread64 tests
  [sanitizer] move write/pwrite/pwrite64 interceptors to common
  [msan] start using common interceptors in msan
  [tsan] move prctl interceptor from asan to common_interceptors thus enabling it for tsan too
llvm-svn: 172763 
							
						 
						
							2013-01-17 22:51:56 +00:00  
				
					
						
							
							
								 
						
							
								5cdd91fc43 
								
							 
						 
						
							
							
								
								[sanitizer] move write/pwrite/pwrite64 interceptors to common  
							
							... 
							
							
							
							llvm-svn: 172722 
							
						 
						
							2013-01-17 14:48:03 +00:00  
				
					
						
							
							
								 
						
							
								f7f5566055 
								
							 
						 
						
							
							
								
								[tsan] move prctl interceptor from asan to common_interceptors thus enabling it for tsan too  
							
							... 
							
							
							
							llvm-svn: 172719 
							
						 
						
							2013-01-17 13:38:16 +00:00  
				
					
						
							
							
								 
						
							
								125e26d49b 
								
							 
						 
						
							
							
								
								[tsan] add write_range/read_range hooks to common interceptors called from tsan (to find races on read/pread/etc)  
							
							... 
							
							
							
							llvm-svn: 172714 
							
						 
						
							2013-01-17 13:18:40 +00:00  
				
					
						
							
							
								 
						
							
								93ebdb5d64 
								
							 
						 
						
							
							
								
								[sanitizer] a bit more unification for interceptors (merge read/pread/pread64 in asan and tsan)  
							
							... 
							
							
							
							llvm-svn: 172713 
							
						 
						
							2013-01-17 13:09:00 +00:00  
				
					
						
							
							
								 
						
							
								c1a1517a37 
								
							 
						 
						
							
							
								
								tsan: describe stack and TLS addresses  
							
							... 
							
							
							
							llvm-svn: 172393 
							
						 
						
							2013-01-14 10:00:03 +00:00  
				
					
						
							
							
								 
						
							
								f22982bf0a 
								
							 
						 
						
							
							
								
								asan/tsan: move blocking mutex from asan to sanitizer_common  
							
							... 
							
							
							
							llvm-svn: 172380 
							
						 
						
							2013-01-14 07:51:39 +00:00  
				
					
						
							
							
								 
						
							
								89698ecf8a 
								
							 
						 
						
							
							
								
								tsan: fix compiler warning  
							
							... 
							
							
							
							llvm-svn: 172191 
							
						 
						
							2013-01-11 11:02:40 +00:00  
				
					
						
							
							
								 
						
							
								5cb6c62641 
								
							 
						 
						
							
							
								
								tsan: symbolize global variables  
							
							... 
							
							
							
							llvm-svn: 172181 
							
						 
						
							2013-01-11 07:23:51 +00:00  
				
					
						
							
							
								 
						
							
								1bc29bd7bf 
								
							 
						 
						
							
							
								
								tsan: add check for invalid fd  
							
							... 
							
							
							
							llvm-svn: 172060 
							
						 
						
							2013-01-10 12:28:58 +00:00  
				
					
						
							
							
								 
						
							
								a626d03266 
								
							 
						 
						
							
							
								
								tsan: detect races on fd passed to epoll_ctl  
							
							... 
							
							
							
							llvm-svn: 171981 
							
						 
						
							2013-01-09 17:31:27 +00:00  
				
					
						
							
							
								 
						
							
								a681c01b69 
								
							 
						 
						
							
							
								
								tsan: fix crash when user defines own fopen/fileno  
							
							... 
							
							
							
							llvm-svn: 171967 
							
						 
						
							2013-01-09 11:54:52 +00:00  
				
					
						
							
							
								 
						
							
								b4ede780b0 
								
							 
						 
						
							
							
								
								tsan: fix crash when user defines own fopen/fileno  
							
							... 
							
							
							
							llvm-svn: 171958 
							
						 
						
							2013-01-09 08:22:06 +00:00  
				
					
						
							
							
								 
						
							
								6f604b5007 
								
							 
						 
						
							
							
								
								[asan/tsan] when unmapping a chunk of user memory, apply madvise(MADV_DONTNEED) to the corresponding chunk of shadow memory. Also update sanitizer_allocator64_testlib.cc  
							
							... 
							
							
							
							llvm-svn: 171144 
							
						 
						
							2012-12-27 07:37:24 +00:00  
				
					
						
							
							
								 
						
							
								774defc649 
								
							 
						 
						
							
							
								
								tsan: fix the code that searches for heap memory block metadata  
							
							... 
							
							
							
							(the old code won't work with new allocator)
llvm-svn: 171054 
							
						 
						
							2012-12-25 07:45:40 +00:00  
				
					
						
							
							
								 
						
							
								f6d8021520 
								
							 
						 
						
							
							
								
								tsan: remove static reference to glibc internal _dl_get_tls_static_info()  
							
							... 
							
							
							
							(this breaks RPM packages)
llvm-svn: 171033 
							
						 
						
							2012-12-24 13:43:53 +00:00  
				
					
						
							
							
								 
						
							
								73dac64b73 
								
							 
						 
						
							
							
								
								tsan: more defensive file descriptor verification  
							
							... 
							
							
							
							to prevent assertion failures on code like "write(-1, ...)"
llvm-svn: 171030 
							
						 
						
							2012-12-24 11:43:34 +00:00  
				
					
						
							
							
								 
						
							
								a33bf2701e 
								
							 
						 
						
							
							
								
								tsan: fix Java memory move operations and add the test  
							
							... 
							
							
							
							llvm-svn: 170891 
							
						 
						
							2012-12-21 13:23:48 +00:00  
				
					
						
							
							
								 
						
							
								fe817bdb88 
								
							 
						 
						
							
							
								
								tsan: less debug output  
							
							... 
							
							
							
							llvm-svn: 170889 
							
						 
						
							2012-12-21 12:30:52 +00:00  
				
					
						
							
							
								 
						
							
								22be55e47e 
								
							 
						 
						
							
							
								
								tsan: update mutex table for java  
							
							... 
							
							
							
							llvm-svn: 170884 
							
						 
						
							2012-12-21 11:30:14 +00:00  
				
					
						
							
							
								 
						
							
								a5b57100d4 
								
							 
						 
						
							
							
								
								tsan: java: move shadow memory on GC compaction  
							
							... 
							
							
							
							llvm-svn: 170882 
							
						 
						
							2012-12-21 11:16:40 +00:00  
				
					
						
							
							
								 
						
							
								bed53cfc12 
								
							 
						 
						
							
							
								
								tsan: add a high-level comment to tsan_interface_java.h  
							
							... 
							
							
							
							llvm-svn: 170881 
							
						 
						
							2012-12-21 10:57:59 +00:00  
				
					
						
							
							
								 
						
							
								11bb06039a 
								
							 
						 
						
							
							
								
								tsan: fix lint warnings  
							
							... 
							
							
							
							llvm-svn: 170877 
							
						 
						
							2012-12-21 10:47:48 +00:00  
				
					
						
							
							
								 
						
							
								1859251df8 
								
							 
						 
						
							
							
								
								tsan: disable checks for limited address space and unlimited stack for Go  
							
							... 
							
							
							
							llvm-svn: 170876 
							
						 
						
							2012-12-21 10:45:01 +00:00  
				
					
						
							
							
								 
						
							
								2547ac65eb 
								
							 
						 
						
							
							
								
								tsan: java interface implementation skeleton  
							
							... 
							
							
							
							llvm-svn: 170707 
							
						 
						
							2012-12-20 17:29:34 +00:00  
				
					
						
							
							
								 
						
							
								54c6086e9c 
								
							 
						 
						
							
							
								
								[tsan] fix cmake build  
							
							... 
							
							
							
							llvm-svn: 170689 
							
						 
						
							2012-12-20 12:26:09 +00:00  
				
					
						
							
							
								 
						
							
								d088b3b219 
								
							 
						 
						
							
							
								
								tsan: add java interface implementation stub  
							
							... 
							
							
							
							llvm-svn: 170681 
							
						 
						
							2012-12-20 10:21:30 +00:00  
				
					
						
							
							
								 
						
							
								5a0761ed3c 
								
							 
						 
						
							
							
								
								tsan: add Java interface  
							
							... 
							
							
							
							llvm-svn: 170679 
							
						 
						
							2012-12-20 07:47:04 +00:00  
				
					
						
							
							
								 
						
							
								c467933dc7 
								
							 
						 
						
							
							
								
								tsan: fix -Wgnu warnings  
							
							... 
							
							
							
							llvm-svn: 170499 
							
						 
						
							2012-12-19 06:59:45 +00:00  
				
					
						
							
							
								 
						
							
								44e1beaee6 
								
							 
						 
						
							
							
								
								tsan: intercept fork() to prevent false race reports on fd's  
							
							... 
							
							
							
							llvm-svn: 170433 
							
						 
						
							2012-12-18 14:44:44 +00:00  
				
					
						
							
							
								 
						
							
								a2ce1e0055 
								
							 
						 
						
							
							
								
								tsan: warn about reports from signal handlers  
							
							... 
							
							
							
							llvm-svn: 170430 
							
						 
						
							2012-12-18 14:19:24 +00:00  
				
					
						
							
							
								 
						
							
								d509179a0b 
								
							 
						 
						
							
							
								
								tsan: add signalfd() and inotify_init() interceptors  
							
							... 
							
							
							
							llvm-svn: 170429 
							
						 
						
							2012-12-18 12:35:31 +00:00  
				
					
						
							
							
								 
						
							
								42230ae216 
								
							 
						 
						
							
							
								
								tsan: add io_sync flag that controls amount of IO synchronization  
							
							... 
							
							
							
							llvm-svn: 170427 
							
						 
						
							2012-12-18 12:20:55 +00:00  
				
					
						
							
							
								 
						
							
								f37c45c20d 
								
							 
						 
						
							
							
								
								[Sanitizer] Expose StackTrace::GetPreviousInstructionPc() to get PC of call instruction from return address  
							
							... 
							
							
							
							llvm-svn: 170424 
							
						 
						
							2012-12-18 09:57:34 +00:00  
				
					
						
							
							
								 
						
							
								6d315cbcc3 
								
							 
						 
						
							
							
								
								tsan: describe "file descriptor" location  
							
							... 
							
							
							
							llvm-svn: 170417 
							
						 
						
							2012-12-18 06:57:34 +00:00  
				
					
						
							
							
								 
						
							
								09b0dbfaf9 
								
							 
						 
						
							
							
								
								tsan: say what thread had created a thread in reports  
							
							... 
							
							
							
							llvm-svn: 170346 
							
						 
						
							2012-12-17 16:28:15 +00:00  
				
					
						
							
							
								 
						
							
								38d0b60fb9 
								
							 
						 
						
							
							
								
								tsan: synchronize connect->accept calls  
							
							... 
							
							
							
							llvm-svn: 170235 
							
						 
						
							2012-12-14 20:01:58 +00:00  
				
					
						
							
							
								 
						
							
								e0c37640f7 
								
							 
						 
						
							
							
								
								tsan: add socketpair() interceptor and test  
							
							... 
							
							
							
							llvm-svn: 170184 
							
						 
						
							2012-12-14 09:57:42 +00:00  
				
					
						
							
							
								 
						
							
								12ae8897e6 
								
							 
						 
						
							
							
								
								tsan: fix compilation with -pedantic  
							
							... 
							
							
							
							llvm-svn: 170131 
							
						 
						
							2012-12-13 15:26:04 +00:00  
				
					
						
							
							
								 
						
							
								3533f76996 
								
							 
						 
						
							
							
								
								tsan: completely disable deadlock detector for Go  
							
							... 
							
							
							
							seems to cause some weird stack overflow
llvm-svn: 170116 
							
						 
						
							2012-12-13 09:22:11 +00:00  
				
					
						
							
							
								 
						
							
								3e7ede230f 
								
							 
						 
						
							
							
								
								tsan: support MapThreadTrace() on all platforms  
							
							... 
							
							
							
							llvm-svn: 170113 
							
						 
						
							2012-12-13 08:14:02 +00:00  
				
					
						
							
							
								 
						
							
								e29883c10a 
								
							 
						 
						
							
							
								
								[sanitizer] add OnMap/OnUmap callbacks to the allocator interface  
							
							... 
							
							
							
							llvm-svn: 169985 
							
						 
						
							2012-12-12 14:32:18 +00:00  
				
					
						
							
							
								 
						
							
								c219f6c777 
								
							 
						 
						
							
							
								
								[tsan] fix cmake build  
							
							... 
							
							
							
							llvm-svn: 169982 
							
						 
						
							2012-12-12 14:26:06 +00:00  
				
					
						
							
							
								 
						
							
								7d95323047 
								
							 
						 
						
							
							
								
								tsan: explain why pthread_cond_init() interceptor is commented out  
							
							... 
							
							
							
							llvm-svn: 169975 
							
						 
						
							2012-12-12 13:11:44 +00:00  
				
					
						
							
							
								 
						
							
								9ba0f3d51c 
								
							 
						 
						
							
							
								
								tsan: add comment to tsan_fd.h file  
							
							... 
							
							
							
							llvm-svn: 169973 
							
						 
						
							2012-12-12 12:45:07 +00:00  
				
					
						
							
							
								 
						
							
								9190a036d7 
								
							 
						 
						
							
							
								
								tsan: add missing files  
							
							... 
							
							
							
							llvm-svn: 169971 
							
						 
						
							2012-12-12 12:27:00 +00:00  
				
					
						
							
							
								 
						
							
								60c14ce625 
								
							 
						 
						
							
							
								
								tsan: more precise handling of IO synchronization  
							
							... 
							
							
							
							llvm-svn: 169970 
							
						 
						
							2012-12-12 11:59:30 +00:00  
				
					
						
							
							
								 
						
							
								9a58d399c7 
								
							 
						 
						
							
							
								
								[asan] add sanitizer_common/sanitizer_common_interceptors.h with pread/pread64/read interceptors. Use it in asan. Add asan tests for pread/etc. Add FIXME to tsan/msan interceptors  
							
							... 
							
							
							
							llvm-svn: 169966 
							
						 
						
							2012-12-12 09:54:35 +00:00  
				
					
						
							
							
								 
						
							
								a00d9caa8f 
								
							 
						 
						
							
							
								
								Unbreak the C++98 build.  
							
							... 
							
							
							
							llvm-svn: 169636 
							
						 
						
							2012-12-07 21:39:54 +00:00  
				
					
						
							
							
								 
						
							
								54b87409b4 
								
							 
						 
						
							
							
								
								tsan: even more fd interceptors + fixes  
							
							... 
							
							
							
							llvm-svn: 169628 
							
						 
						
							2012-12-07 19:23:59 +00:00  
				
					
						
							
							
								 
						
							
								04580518ce 
								
							 
						 
						
							
							
								
								tsan: more fd interceptors + bug fixes + tests  
							
							... 
							
							
							
							llvm-svn: 169621 
							
						 
						
							2012-12-07 18:30:40 +00:00  
				
					
						
							
							
								 
						
							
								0ef99e2a48 
								
							 
						 
						
							
							
								
								tsan: fix pipe interceptors and add 2 tests  
							
							... 
							
							
							
							llvm-svn: 169607 
							
						 
						
							2012-12-07 16:22:54 +00:00  
				
					
						
							
							
								 
						
							
								4e7c0f95fb 
								
							 
						 
						
							
							
								
								tsan: add pipe interceptors  
							
							... 
							
							
							
							llvm-svn: 169602 
							
						 
						
							2012-12-07 15:32:56 +00:00  
				
					
						
							
							
								 
						
							
								5f4ab30be0 
								
							 
						 
						
							
							
								
								tsan: refactoring is preparation to more precise fd synchronization handling  
							
							... 
							
							
							
							llvm-svn: 169600 
							
						 
						
							2012-12-07 14:40:10 +00:00  
				
					
						
							
							
								 
						
							
								6ee2cde066 
								
							 
						 
						
							
							
								
								tsan: add new file to cmake  
							
							... 
							
							
							
							llvm-svn: 169502 
							
						 
						
							2012-12-06 13:32:49 +00:00  
				
					
						
							
							
								 
						
							
								72064188bc 
								
							 
						 
						
							
							
								
								tsan: add some more functions for java filtering  
							
							... 
							
							
							
							llvm-svn: 169501 
							
						 
						
							2012-12-06 13:20:37 +00:00  
				
					
						
							
							
								 
						
							
								fd1ba2af7d 
								
							 
						 
						
							
							
								
								tsan: add 'free' to java nonsense reports  
							
							... 
							
							
							
							llvm-svn: 169494 
							
						 
						
							2012-12-06 12:42:53 +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  
				
					
						
							
							
								 
						
							
								d413d8cfa9 
								
							 
						 
						
							
							
								
								tsan: fix memory barriers in atomics  
							
							... 
							
							
							
							llvm-svn: 169379 
							
						 
						
							2012-12-05 13:14:55 +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  
				
					
						
							
							
								 
						
							
								6411bd9877 
								
							 
						 
						
							
							
								
								tsan: remove unnecesary include file  
							
							... 
							
							
							
							llvm-svn: 169370 
							
						 
						
							2012-12-05 10:16:17 +00:00  
				
					
						
							
							
								 
						
							
								571232b8cf 
								
							 
						 
						
							
							
								
								[tsan] get rid of *allocator64* files, moving everything to *allocator* files. This will help with the 32-bit allocator implementation and testing  
							
							... 
							
							
							
							llvm-svn: 169368 
							
						 
						
							2012-12-05 10:09:15 +00:00  
				
					
						
							
							
								 
						
							
								1b46993598 
								
							 
						 
						
							
							
								
								tsan: output thread names  
							
							... 
							
							
							
							llvm-svn: 169279 
							
						 
						
							2012-12-04 15:46:05 +00:00  
				
					
						
							
							
								 
						
							
								242b6305f0 
								
							 
						 
						
							
							
								
								[tsan] add a compile-time error for 64-bit-only support  
							
							... 
							
							
							
							llvm-svn: 169275 
							
						 
						
							2012-12-04 15:13:30 +00:00  
				
					
						
							
							
								 
						
							
								4b82b2bb6e 
								
							 
						 
						
							
							
								
								tsan: make atomic operations atomic again  
							
							... 
							
							
							
							llvm-svn: 169273 
							
						 
						
							2012-12-04 14:50:10 +00:00  
				
					
						
							
							
								 
						
							
								f299288f55 
								
							 
						 
						
							
							
								
								[tsan] minor interface refactoring  
							
							... 
							
							
							
							llvm-svn: 169267 
							
						 
						
							2012-12-04 14:15:17 +00:00  
				
					
						
							
							
								 
						
							
								4ef6b2bd03 
								
							 
						 
						
							
							
								
								tsan: fix nand operation  
							
							... 
							
							
							
							llvm-svn: 169266 
							
						 
						
							2012-12-04 14:08:39 +00:00  
				
					
						
							
							
								 
						
							
								01ea653166 
								
							 
						 
						
							
							
								
								tsan: add __attribute__((visibility("default"))) to interface functions  
							
							... 
							
							
							
							llvm-svn: 169265 
							
						 
						
							2012-12-04 14:01:21 +00:00  
				
					
						
							
							
								 
						
							
								55b47cad33 
								
							 
						 
						
							
							
								
								tsan: fix trace handling when trace is reused between threads  
							
							... 
							
							
							
							llvm-svn: 169259 
							
						 
						
							2012-12-04 12:19:53 +00:00  
				
					
						
							
							
								 
						
							
								0d677279f6 
								
							 
						 
						
							
							
								
								tsan: better error message if we fail to intercept some function  
							
							... 
							
							
							
							currently the message is SIGSEGV
llvm-svn: 169231 
							
						 
						
							2012-12-04 07:28:25 +00:00  
				
					
						
							
							
								 
						
							
								d229abe49a 
								
							 
						 
						
							
							
								
								tsan: check if PWD env var is absent  
							
							... 
							
							
							
							On some programs I see:
failed to open suppressions file '<null>/testing/tsan/v2/tsan.supp'
llvm-svn: 169230 
							
						 
						
							2012-12-04 07:27:32 +00:00  
				
					
						
							
							
								 
						
							
								e982a1d368 
								
							 
						 
						
							
							
								
								tsan: describe global vars (module+offset for now)  
							
							... 
							
							
							
							llvm-svn: 169122 
							
						 
						
							2012-12-03 11:45:34 +00:00  
				
					
						
							
							
								 
						
							
								e993dac233 
								
							 
						 
						
							
							
								
								tsan: fix int overflow and several instances where tid is used with ignore  
							
							... 
							
							
							
							llvm-svn: 169029 
							
						 
						
							2012-11-30 20:02:11 +00:00  
				
					
						
							
							
								 
						
							
								d05418eac6 
								
							 
						 
						
							
							
								
								tsan: suppress weird race reports when JVM is embed into the process  
							
							... 
							
							
							
							llvm-svn: 169019 
							
						 
						
							2012-11-30 17:45:53 +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  
				
					
						
							
							
								 
						
							
								71d759d392 
								
							 
						 
						
							
							
								
								tsan: intercept mlock() because of the kernel bug  
							
							... 
							
							
							
							llvm-svn: 168987 
							
						 
						
							2012-11-30 06:50:15 +00:00  
				
					
						
							
							
								 
						
							
								0a4d875c48 
								
							 
						 
						
							
							
								
								tsan: fix bug that leads to spurious use-after-free reports  
							
							... 
							
							
							
							llvm-svn: 168985 
							
						 
						
							2012-11-30 06:39:01 +00:00  
				
					
						
							
							
								 
						
							
								4a48553869 
								
							 
						 
						
							
							
								
								tsan: explicitly say that failed to restore the stack  
							
							... 
							
							
							
							llvm-svn: 168790 
							
						 
						
							2012-11-28 13:30:06 +00:00  
				
					
						
							
							
								 
						
							
								eb3d36e649 
								
							 
						 
						
							
							
								
								tsan: address several review comments  
							
							... 
							
							
							
							llvm-svn: 168789 
							
						 
						
							2012-11-28 13:01:32 +00:00  
				
					
						
							
							
								 
						
							
								3374e3f874 
								
							 
						 
						
							
							
								
								tsan: add log_path parameter (similar to asan)  
							
							... 
							
							
							
							remove old log_fileno
llvm-svn: 168788 
							
						 
						
							2012-11-28 12:56:52 +00:00  
				
					
						
							
							
								 
						
							
								e1a7f338a3 
								
							 
						 
						
							
							
								
								tsan: dynamic history size  
							
							... 
							
							
							
							introduces history_size parameter that can be used to control trace size at startup
llvm-svn: 168786 
							
						 
						
							2012-11-28 12:19:50 +00:00  
				
					
						
							
							
								 
						
							
								00e4604d6b 
								
							 
						 
						
							
							
								
								tsan: change fast state layout in preparation to dynamic traces  
							
							... 
							
							
							
							llvm-svn: 168784 
							
						 
						
							2012-11-28 10:49:27 +00:00  
				
					
						
							
							
								 
						
							
								2429b02770 
								
							 
						 
						
							
							
								
								tsan: move traces from tls into dedicated storage at fixed address  
							
							... 
							
							
							
							helps to reduce tls size (it's weird to have multi-MB tls)
will help with dynamically adjustable trace size
llvm-svn: 168783 
							
						 
						
							2012-11-28 10:35:31 +00:00  
				
					
						
							
							
								 
						
							
								05d7ade34d 
								
							 
						 
						
							
							
								
								tsan: add description of memory layouts in different configs  
							
							... 
							
							
							
							llvm-svn: 168777 
							
						 
						
							2012-11-28 07:44:26 +00:00  
				
					
						
							
							
								 
						
							
								ec8da99846 
								
							 
						 
						
							
							
								
								tsan: fix macro mess  
							
							... 
							
							
							
							llvm-svn: 168697 
							
						 
						
							2012-11-27 12:51:16 +00:00  
				
					
						
							
							
								 
						
							
								69a071d5a6 
								
							 
						 
						
							
							
								
								tsan: fix compilation for dead old compilers (why we are supporting them at all?..)  
							
							... 
							
							
							
							llvm-svn: 168693 
							
						 
						
							2012-11-27 09:35:44 +00:00  
				
					
						
							
							
								 
						
							
								210c21129e 
								
							 
						 
						
							
							
								
								tsan: add memory range access functions to public iface  
							
							... 
							
							
							
							llvm-svn: 168692 
							
						 
						
							2012-11-27 08:41:39 +00:00  
				
					
						
							
							
								 
						
							
								59d58665ee 
								
							 
						 
						
							
							
								
								tsan: add 128-bit atomic operations  
							
							... 
							
							
							
							llvm-svn: 168683 
							
						 
						
							2012-11-27 07:41:27 +00:00  
				
					
						
							
							
								 
						
							
								10362c46f1 
								
							 
						 
						
							
							
								
								tsan: refactor atomic operations implementation  
							
							... 
							
							
							
							do the atomic operation under the sync object mutex
make acquire/release sync atomic with the operation itself
combine acquire and release into a single acq_rel operation
llvm-svn: 168682 
							
						 
						
							2012-11-27 07:25:50 +00:00  
				
					
						
							
							
								 
						
							
								20678e2b68 
								
							 
						 
						
							
							
								
								tsan: explicitly mark symbols referenced from assembly as hidden  
							
							... 
							
							
							
							this allows to build tsan runtime as dynamic library
llvm-svn: 168589 
							
						 
						
							2012-11-26 14:20:26 +00:00  
				
					
						
							
							
								 
						
							
								3b4501254f 
								
							 
						 
						
							
							
								
								tsan: add atomic nand operation  
							
							... 
							
							
							
							llvm-svn: 168584 
							
						 
						
							2012-11-26 09:42:56 +00:00  
				
					
						
							
							
								 
						
							
								df198db1aa 
								
							 
						 
						
							
							
								
								[asan/tsan] get rid of kPageSize completely in favor of GetPageSizeCached(). This makes the code friendly to more platforms  
							
							... 
							
							
							
							llvm-svn: 168537 
							
						 
						
							2012-11-24 05:03:11 +00:00  
				
					
						
							
							
								 
						
							
								195eda9922 
								
							 
						 
						
							
							
								
								tsan: add failure memory order to atomic compare exchange functions  
							
							... 
							
							
							
							llvm-svn: 168518 
							
						 
						
							2012-11-23 15:51:45 +00:00  
				
					
						
							
							
								 
						
							
								f22c697f58 
								
							 
						 
						
							
							
								
								[asan] get rid of some of the uses of kPageSize. The intent is to get rid of it completely to support platforms with multiple possible page sizes.  
							
							... 
							
							
							
							llvm-svn: 168517 
							
						 
						
							2012-11-23 15:38:49 +00:00  
				
					
						
							
							
								 
						
							
								db584aded7 
								
							 
						 
						
							
							
								
								tsan: ensure than func entry/exit are inlined  
							
							... 
							
							
							
							llvm-svn: 168506 
							
						 
						
							2012-11-23 07:14:11 +00:00  
				
					
						
							
							
								 
						
							
								6971414f3e 
								
							 
						 
						
							
							
								
								tsan: fix more bugs in signal handling  
							
							... 
							
							
							
							llvm-svn: 168497 
							
						 
						
							2012-11-22 13:53:54 +00:00  
				
					
						
							
							
								 
						
							
								3048e1a399 
								
							 
						 
						
							
							
								
								tsan: add missing \n in report  
							
							... 
							
							
							
							llvm-svn: 168496 
							
						 
						
							2012-11-22 13:38:28 +00:00  
				
					
						
							
							
								 
						
							
								aeed45cde0 
								
							 
						 
						
							
							
								
								tsan: explictly say when we fail to restore a stack trace  
							
							... 
							
							
							
							llvm-svn: 168423 
							
						 
						
							2012-11-21 11:44:20 +00:00  
				
					
						
							
							
								 
						
							
								9ca2afd3a1 
								
							 
						 
						
							
							
								
								tsan: fix handling of signals  
							
							... 
							
							
							
							(do not execute synchronous signals in recursive interceptors)
llvm-svn: 168421 
							
						 
						
							2012-11-21 11:12:33 +00:00  
				
					
						
							
							
								 
						
							
								4ac66c49da 
								
							 
						 
						
							
							
								
								[TSan] use explicit ctor for BlockingCall  
							
							... 
							
							
							
							llvm-svn: 168150 
							
						 
						
							2012-11-16 11:21:07 +00:00  
				
					
						
							
							
								 
						
							
								933c9889aa 
								
							 
						 
						
							
							
								
								tsan: remove unused parameter  
							
							... 
							
							
							
							llvm-svn: 168060 
							
						 
						
							2012-11-15 18:49:08 +00:00  
				
					
						
							
							
								 
						
							
								f34db58c20 
								
							 
						 
						
							
							
								
								tsan: switch to 4 shadow cells by default (since that's what we use everywhere now)  
							
							... 
							
							
							
							llvm-svn: 168059 
							
						 
						
							2012-11-15 18:44:22 +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  
				
					
						
							
							
								 
						
							
								6d67d3b0ee 
								
							 
						 
						
							
							
								
								tsan: remove unused const  
							
							... 
							
							
							
							llvm-svn: 167835 
							
						 
						
							2012-11-13 14:13:21 +00:00  
				
					
						
							
							
								 
						
							
								041eaf976c 
								
							 
						 
						
							
							
								
								tsan: better function names  
							
							... 
							
							
							
							llvm-svn: 167834 
							
						 
						
							2012-11-13 14:05:58 +00:00  
				
					
						
							
							
								 
						
							
								dcba4d1288 
								
							 
						 
						
							
							
								
								tsan: fix stats collection  
							
							... 
							
							
							
							llvm-svn: 167832 
							
						 
						
							2012-11-13 13:53:43 +00:00  
				
					
						
							
							
								 
						
							
								317f39290d 
								
							 
						 
						
							
							
								
								tsan: intercept gettimeofday()  
							
							... 
							
							
							
							llvm-svn: 167630 
							
						 
						
							2012-11-09 19:55:06 +00:00  
				
					
						
							
							
								 
						
							
								ae9b18b607 
								
							 
						 
						
							
							
								
								[Sanitizer] add sanity checks for communication with external symbolizer  
							
							... 
							
							
							
							llvm-svn: 167617 
							
						 
						
							2012-11-09 14:45:30 +00:00  
				
					
						
							
							
								 
						
							
								805006b0ab 
								
							 
						 
						
							
							
								
								tsan: switch to new memory_order constants (ABI compatible)  
							
							... 
							
							
							
							llvm-svn: 167614 
							
						 
						
							2012-11-09 14:11:51 +00:00  
				
					
						
							
							
								 
						
							
								4e5f72d380 
								
							 
						 
						
							
							
								
								tsan: add __tsan_atomicX_compare_exchange_val() function  
							
							... 
							
							
							
							It's easier to call from compiler module.
llvm-svn: 167611 
							
						 
						
							2012-11-09 12:54:37 +00:00  
				
					
						
							
							
								 
						
							
								9952b674ca 
								
							 
						 
						
							
							
								
								tsan: use GORACE env for options for Go  
							
							... 
							
							
							
							llvm-svn: 167575 
							
						 
						
							2012-11-08 11:32:40 +00:00  
				
					
						
							
							
								 
						
							
								67dc5702f8 
								
							 
						 
						
							
							
								
								tsan: do not sleep at exit if there are no other threads  
							
							... 
							
							
							
							llvm-svn: 167533 
							
						 
						
							2012-11-07 16:41:57 +00:00  
				
					
						
							
							
								 
						
							
								ea4f1990e1 
								
							 
						 
						
							
							
								
								tsan: add flag to suppress all reports (useful for benchmarking)  
							
							... 
							
							
							
							llvm-svn: 167532 
							
						 
						
							2012-11-07 16:14:12 +00:00  
				
					
						
							
							
								 
						
							
								e11f2920c9 
								
							 
						 
						
							
							
								
								tsan: more precise handling of finalizers  
							
							... 
							
							
							
							llvm-svn: 167530 
							
						 
						
							2012-11-07 15:08:20 +00:00  
				
					
						
							
							
								 
						
							
								da78be74f3 
								
							 
						 
						
							
							
								
								tsan: slightly relax requirements for lazy shadow memory (can overlap and may not be properly aligned)  
							
							... 
							
							
							
							it's problematic on windows where allocation granularity is much larger than page size
llvm-svn: 167466 
							
						 
						
							2012-11-06 16:48:46 +00:00  
				
					
						
							
							
								 
						
							
								c015712992 
								
							 
						 
						
							
							
								
								tsan: lazily allocate shadow for Go  
							
							... 
							
							
							
							llvm-svn: 167464 
							
						 
						
							2012-11-06 16:00:16 +00:00  
				
					
						
							
							
								 
						
							
								e4c2fd4c2f 
								
							 
						 
						
							
							
								
								tsan: windows platform support  
							
							... 
							
							
							
							llvm-svn: 167457 
							
						 
						
							2012-11-06 13:35:02 +00:00  
				
					
						
							
							
								 
						
							
								5f93416c94 
								
							 
						 
						
							
							
								
								tsan: add shadow mapping for windows  
							
							... 
							
							
							
							llvm-svn: 167455 
							
						 
						
							2012-11-06 13:26:57 +00:00  
				
					
						
							
							
								 
						
							
								1d4120b210 
								
							 
						 
						
							
							
								
								tsan: fix constant types  
							
							... 
							
							
							
							llvm-svn: 167453 
							
						 
						
							2012-11-06 13:21:06 +00:00  
				
					
						
							
							
								 
						
							
								ba827dfdae 
								
							 
						 
						
							
							
								
								tsan: don't release disabled clocks  
							
							... 
							
							
							
							llvm-svn: 167451 
							
						 
						
							2012-11-06 13:16:25 +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  
				
					
						
							
							
								 
						
							
								20ba98fdb1 
								
							 
						 
						
							
							
								
								[Sanitizer] Use kStderrFd constant instead of hardcoded 2  
							
							... 
							
							
							
							llvm-svn: 167291 
							
						 
						
							2012-11-02 09:38:47 +00:00  
				
					
						
							
							
								 
						
							
								19ba50a8b9 
								
							 
						 
						
							
							
								
								tsan: better message about found races for Go ThreadSanitizer  
							
							... 
							
							
							
							llvm-svn: 165376 
							
						 
						
							2012-10-07 14:21:24 +00:00  
				
					
						
							
							
								 
						
							
								90c9cbfed4 
								
							 
						 
						
							
							
								
								tsan: cache pc's that cause suppressions (this way we do not need to symbolize the reports)  
							
							... 
							
							
							
							llvm-svn: 165317 
							
						 
						
							2012-10-05 15:51:32 +00:00  
				
					
						
							
							
								 
						
							
								b96a7b5aa5 
								
							 
						 
						
							
							
								
								tsan: add atomic_fetch_sub() and atomic_signal_fence() functions  
							
							... 
							
							
							
							llvm-svn: 165218 
							
						 
						
							2012-10-04 10:08:23 +00:00  
				
					
						
							
							
								 
						
							
								be6878365d 
								
							 
						 
						
							
							
								
								tsan: prepare for migration to new memory_order enum values (ABI compatible)  
							
							... 
							
							
							
							llvm-svn: 165106 
							
						 
						
							2012-10-03 13:00:13 +00:00  
				
					
						
							
							
								 
						
							
								56faa551b9 
								
							 
						 
						
							
							
								
								tsan: fix mac build  
							
							... 
							
							
							
							llvm-svn: 165004 
							
						 
						
							2012-10-02 12:58:14 +00:00  
				
					
						
							
							
								 
						
							
								a2c1c7a78e 
								
							 
						 
						
							
							
								
								tsan: wait for pending reports before exit  
							
							... 
							
							
							
							llvm-svn: 164999 
							
						 
						
							2012-10-02 12:07:16 +00:00  
				
					
						
							
							
								 
						
							
								27d5b37c38 
								
							 
						 
						
							
							
								
								tsan: output tid's in reports  
							
							... 
							
							
							
							llvm-svn: 164998 
							
						 
						
							2012-10-02 11:52:05 +00:00  
				
					
						
							
							
								 
						
							
								f7f616ba66 
								
							 
						 
						
							
							
								
								Quick fix data/bss detection in TSan.  
							
							... 
							
							
							
							The old way breaks when a module's bss is adjacent to the [heap] vm area.
Both ways are not very reliable, though.
llvm-svn: 164772 
							
						 
						
							2012-09-27 13:20:40 +00:00  
				
					
						
							
							
								 
						
							
								b6879ce94c 
								
							 
						 
						
							
							
								
								[TSan] move replacement for new/delete back into tsan_interceptors  
							
							... 
							
							
							
							llvm-svn: 164764 
							
						 
						
							2012-09-27 09:50:19 +00:00  
				
					
						
							
							
								 
						
							
								789d4b2cd0 
								
							 
						 
						
							
							
								
								[TSan] fork external symbolizer before starting internal threads  
							
							... 
							
							
							
							llvm-svn: 164600 
							
						 
						
							2012-09-25 12:35:47 +00:00  
				
					
						
							
							
								 
						
							
								313014694f 
								
							 
						 
						
							
							
								
								[TSan] Provide replacements for operators new/delete instead of declaring extern C functions with weirdly mangled names (same strategy is used in ASan).  
							
							... 
							
							
							
							llvm-svn: 164487 
							
						 
						
							2012-09-24 13:19:47 +00:00  
				
					
						
							
							
								 
						
							
								c774095d44 
								
							 
						 
						
							
							
								
								[CMake][tsan] Compile .S files for tsan as C instead of CXX.  
							
							... 
							
							
							
							Using CXX breaks if you add -stdlib=libc++ to CMAKE_CXX_FLAGS.
llvm-svn: 164422 
							
						 
						
							2012-09-21 22:39:39 +00:00  
				
					
						
							
							
								 
						
							
								8d8639bc55 
								
							 
						 
						
							
							
								
								tsan: fix gcc4.2.1 warning  
							
							... 
							
							
							
							llvm-svn: 164200 
							
						 
						
							2012-09-19 04:45:14 +00:00  
				
					
						
							
							
								 
						
							
								c7bcaf8512 
								
							 
						 
						
							
							
								
								tsan: fix Go build  
							
							... 
							
							
							
							llvm-svn: 164198 
							
						 
						
							2012-09-19 04:39:36 +00:00  
				
					
						
							
							
								 
						
							
								ff3f173e87 
								
							 
						 
						
							
							
								
								[TSan] If we detect an unlimited stack, try to re-exec with limited stack  
							
							... 
							
							
							
							llvm-svn: 164021 
							
						 
						
							2012-09-17 09:14:11 +00:00  
				
					
						
							
							
								 
						
							
								40c19aaf84 
								
							 
						 
						
							
							
								
								tsan: increase internal memory block limit 1GB->4GB  
							
							... 
							
							
							
							llvm-svn: 164011 
							
						 
						
							2012-09-17 03:18:45 +00:00  
				
					
						
							
							
								 
						
							
								a7df554138 
								
							 
						 
						
							
							
								
								[TSan] fix a typo in CMakeLists  
							
							... 
							
							
							
							llvm-svn: 163796 
							
						 
						
							2012-09-13 14:02:40 +00:00  
				
					
						
							
							
								 
						
							
								f0aa9148a2 
								
							 
						 
						
							
							
								
								[TSan] Use interface attribute for weak functions that may be overriden by user  
							
							... 
							
							
							
							llvm-svn: 163795 
							
						 
						
							2012-09-13 13:34:09 +00:00  
				
					
						
							
							
								 
						
							
								255f6a5f1a 
								
							 
						 
						
							
							
								
								[TSan] Add initial support for buidling ThreadSanitizer runtime library with CMake (currently the only supported platfrom is 64-bit Linux). This patch makes 'clang++ -fthread-sanitizer' work for both clang in the build tree and installed clang  
							
							... 
							
							
							
							llvm-svn: 163789 
							
						 
						
							2012-09-13 12:18:41 +00:00  
				
					
						
							
							
								 
						
							
								046248c509 
								
							 
						 
						
							
							
								
								[TSan] fix a bunch of warnings reported by pedantic gcc  
							
							... 
							
							
							
							llvm-svn: 163788 
							
						 
						
							2012-09-13 11:54:41 +00:00  
				
					
						
							
							
								 
						
							
								ab7a4ea485 
								
							 
						 
						
							
							
								
								Revert the lockf() support.  
							
							... 
							
							
							
							llvm-svn: 163614 
							
						 
						
							2012-09-11 11:59:05 +00:00  
				
					
						
							
							
								 
						
							
								5c6b93bc33 
								
							 
						 
						
							
							
								
								[Sanitizer] Get rid of dependency between sanitizer_common and asan/tsan runtimes: implement tool-specific Die and CheckFailed functions via callbacks  
							
							... 
							
							
							
							llvm-svn: 163603 
							
						 
						
							2012-09-11 09:44:48 +00:00  
				
					
						
							
							
								 
						
							
								1a471772b0 
								
							 
						 
						
							
							
								
								Interceptors for lockf and lockf64, minor calloc() fix.  
							
							... 
							
							
							
							llvm-svn: 163602 
							
						 
						
							2012-09-11 09:26:35 +00:00  
				
					
						
							
							
								 
						
							
								7ea4c2ccfb 
								
							 
						 
						
							
							
								
								tsan: ignore destruction of global mutexes (causes a lot of non-interesting reports)  
							
							... 
							
							
							
							llvm-svn: 163400 
							
						 
						
							2012-09-07 18:08:02 +00:00  
				
					
						
							
							
								 
						
							
								23ecb4acd9 
								
							 
						 
						
							
							
								
								tsan: fix code style  
							
							... 
							
							
							
							llvm-svn: 163326 
							
						 
						
							2012-09-06 16:11:30 +00:00  
				
					
						
							
							
								 
						
							
								c87e7280b8 
								
							 
						 
						
							
							
								
								tsan: increase max shadow stack size + reduce memory consumption at the same time (by not memorizing full stacks in traces)  
							
							... 
							
							
							
							llvm-svn: 163322 
							
						 
						
							2012-09-06 15:18:14 +00:00  
				
					
						
							
							
								 
						
							
								fdff4a8e0b 
								
							 
						 
						
							
							
								
								[TSan] add support for running external symbolizer other than addr2line (for testing purposes)  
							
							... 
							
							
							
							llvm-svn: 163297 
							
						 
						
							2012-09-06 08:48:43 +00:00  
				
					
						
							
							
								 
						
							
								ceffb021c5 
								
							 
						 
						
							
							
								
								[Sanitizer] Remove implicit conversion of InternalScopedBuffer<T> to T*  
							
							... 
							
							
							
							llvm-svn: 163197 
							
						 
						
							2012-09-05 07:23:44 +00:00  
				
					
						
							
							
								 
						
							
								49dd68ae7c 
								
							 
						 
						
							
							
								
								tsan: do not crash with obscure message if a user passes invalid arguments to malloc/free/memset/etc  
							
							... 
							
							
							
							llvm-svn: 163092 
							
						 
						
							2012-09-02 12:04:51 +00:00  
				
					
						
							
							
								 
						
							
								b7f1852140 
								
							 
						 
						
							
							
								
								tsan: insert cfi directives into assembly (not fully working for now, though)  
							
							... 
							
							
							
							llvm-svn: 163090 
							
						 
						
							2012-09-02 11:24:07 +00:00  
				
					
						
							
							
								 
						
							
								72cddf33d9 
								
							 
						 
						
							
							
								
								tsan: more robust current thread stack restoration  
							
							... 
							
							
							
							llvm-svn: 163089 
							
						 
						
							2012-09-02 11:23:39 +00:00  
				
					
						
							
							
								 
						
							
								46ca1fb404 
								
							 
						 
						
							
							
								
								tsan: better diagnostics for mutex misuse  
							
							... 
							
							
							
							llvm-svn: 163060 
							
						 
						
							2012-09-01 12:13:18 +00:00  
				
					
						
							
							
								 
						
							
								cbc303006c 
								
							 
						 
						
							
							
								
								tsan: fix crash when users pass insane mutex addresses in dynamic annotations  
							
							... 
							
							
							
							llvm-svn: 163016 
							
						 
						
							2012-08-31 20:02:33 +00:00  
				
					
						
							
							
								 
						
							
								318f77749e 
								
							 
						 
						
							
							
								
								tsan: add "as if synchronized via sleep" feature  
							
							... 
							
							
							
							llvm-svn: 163006 
							
						 
						
							2012-08-31 17:27:49 +00:00  
				
					
						
							
							
								 
						
							
								bead8f1e3f 
								
							 
						 
						
							
							
								
								tsan: slightly optimize mutex unlock  
							
							... 
							
							
							
							llvm-svn: 162995 
							
						 
						
							2012-08-31 13:42:28 +00:00  
				
					
						
							
							
								 
						
							
								6f6ba43271 
								
							 
						 
						
							
							
								
								tsan: more precise handling of atomic_store(memory_order_release)  
							
							... 
							
							
							
							llvm-svn: 162994 
							
						 
						
							2012-08-31 13:22:13 +00:00  
				
					
						
							
							
								 
						
							
								7af8a3a83d 
								
							 
						 
						
							
							
								
								tsan: simplify TSAN_HISTORY_SIZE code  
							
							... 
							
							
							
							llvm-svn: 162905 
							
						 
						
							2012-08-30 13:29:11 +00:00  
				
					
						
							
							
								 
						
							
								191f2f7cdb 
								
							 
						 
						
							
							
								
								tsan: use stack depot to describe heap blocks  
							
							... 
							
							
							
							llvm-svn: 162902 
							
						 
						
							2012-08-30 13:02:30 +00:00  
				
					
						
							
							
								 
						
							
								4310fe35ea 
								
							 
						 
						
							
							
								
								[tsan] fix tsan's Makefile.old -- our build bot still uses it (hopefully, will soon migrate to cmake completely)  
							
							... 
							
							
							
							llvm-svn: 162832 
							
						 
						
							2012-08-29 08:21:09 +00:00  
				
					
						
							
							
								 
						
							
								cc62211fbf 
								
							 
						 
						
							
							
								
								[Sanitizer] Rename ProcessMaps to MemoryMappingLayout and fix Windows build by providing stub implementation  
							
							... 
							
							
							
							llvm-svn: 162671 
							
						 
						
							2012-08-27 13:48:48 +00:00  
				
					
						
							
							
								 
						
							
								0481ae4722 
								
							 
						 
						
							
							
								
								tsan: allow to override per-thread event trace size  
							
							... 
							
							
							
							useful if you don't see the second stack trace
llvm-svn: 162456 
							
						 
						
							2012-08-23 18:26:03 +00:00  
				
					
						
							
							
								 
						
							
								75e5fc3e57 
								
							 
						 
						
							
							
								
								[TSan] switch tsan to using InternalScopedBuffer from sanitizer_common  
							
							... 
							
							
							
							llvm-svn: 162351 
							
						 
						
							2012-08-22 07:25:52 +00:00  
				
					
						
							
							
								 
						
							
								e59bed4e8a 
								
							 
						 
						
							
							
								
								tsan: proper handling of linker initialized mutexes  
							
							... 
							
							
							
							llvm-svn: 162169 
							
						 
						
							2012-08-18 11:49:00 +00:00  
				
					
						
							
							
								 
						
							
								e2b5b5c4ac 
								
							 
						 
						
							
							
								
								tsan: Non-executable stack for hand-coded assembly  
							
							... 
							
							
							
							llvm-svn: 162112 
							
						 
						
							2012-08-17 18:05:28 +00:00  
				
					
						
							
							
								 
						
							
								9f143c5c5f 
								
							 
						 
						
							
							
								
								tsan: improve Go report format + fix build  
							
							... 
							
							
							
							llvm-svn: 162042 
							
						 
						
							2012-08-16 19:36:45 +00:00  
				
					
						
							
							
								 
						
							
								77196efb1e 
								
							 
						 
						
							
							
								
								tsan: add flag to disable reporting of destruction of locked mutexes (some programs use that on a regular basis)  
							
							... 
							
							
							
							llvm-svn: 162024 
							
						 
						
							2012-08-16 15:12:35 +00:00  
				
					
						
							
							
								 
						
							
								3482ec3bc8 
								
							 
						 
						
							
							
								
								tsan: better diagnostics for destroy of a locked mutex + a test  
							
							... 
							
							
							
							llvm-svn: 162022 
							
						 
						
							2012-08-16 15:08:49 +00:00  
				
					
						
							
							
								 
						
							
								19ae9f3b2e 
								
							 
						 
						
							
							
								
								tsan: support for linker initializer mutexes with static storage duration  
							
							... 
							
							
							
							llvm-svn: 162021 
							
						 
						
							2012-08-16 14:21:09 +00:00  
				
					
						
							
							
								 
						
							
								5c45dab649 
								
							 
						 
						
							
							
								
								tsan: fix COMPAT shadow mapping once again  
							
							... 
							
							
							
							llvm-svn: 162020 
							
						 
						
							2012-08-16 14:20:45 +00:00  
				
					
						
							
							
								 
						
							
								4723e6b1e5 
								
							 
						 
						
							
							
								
								tsan: implement RWLOCK annotations  
							
							... 
							
							
							
							llvm-svn: 162019 
							
						 
						
							2012-08-16 13:29:41 +00:00  
				
					
						
							
							
								 
						
							
								f77c6ea7ea 
								
							 
						 
						
							
							
								
								tsan: fix COMPAT shadow mapping for new memory allocator  
							
							... 
							
							
							
							llvm-svn: 162018 
							
						 
						
							2012-08-16 13:27:25 +00:00  
				
					
						
							
							
								 
						
							
								912f3bf279 
								
							 
						 
						
							
							
								
								tsan: refactor cur_thread() -> thr  
							
							... 
							
							
							
							llvm-svn: 162017 
							
						 
						
							2012-08-16 13:26:54 +00:00  
				
					
						
							
							
								 
						
							
								1c0b3c6b84 
								
							 
						 
						
							
							
								
								tsan: store sync objects in memory block headers + delete them when the block is freed  
							
							... 
							
							
							
							llvm-svn: 161959 
							
						 
						
							2012-08-15 17:27:20 +00:00  
				
					
						
							
							
								 
						
							
								9f1509fe44 
								
							 
						 
						
							
							
								
								tsan: provide function that imitates write to a region but does not detect races  
							
							... 
							
							
							
							llvm-svn: 161957 
							
						 
						
							2012-08-15 16:52:19 +00:00  
				
					
						
							
							
								 
						
							
								954fc8c3e4 
								
							 
						 
						
							
							
								
								tsan: switch to new allocator  
							
							... 
							
							
							
							llvm-svn: 161953 
							
						 
						
							2012-08-15 15:35:15 +00:00  
				
					
						
							
							
								 
						
							
								2bee426ed6 
								
							 
						 
						
							
							
								
								tsan: fix parameter type for pwrite64() interceptor  
							
							... 
							
							
							
							llvm-svn: 161741 
							
						 
						
							2012-08-12 11:08:30 +00:00  
				
					
						
							
							
								 
						
							
								139a7c0575 
								
							 
						 
						
							
							
								
								[Sanitizer] Make ASan/TSan sources depend on headers from interception library  
							
							... 
							
							
							
							llvm-svn: 161113 
							
						 
						
							2012-08-01 14:55:49 +00:00  
				
					
						
							
							
								 
						
							
								a2e0cf4802 
								
							 
						 
						
							
							
								
								[TSan] delete trailing spaces  
							
							... 
							
							
							
							llvm-svn: 160955 
							
						 
						
							2012-07-30 07:46:09 +00:00  
				
					
						
							
							
								 
						
							
								904d3f9c06 
								
							 
						 
						
							
							
								
								tsan: add ReleaseStore() function that merely copies vector clock rather than combines two clocks  
							
							... 
							
							
							
							fix clock setup for finalizer goroutine (Go runtime)
llvm-svn: 160918 
							
						 
						
							2012-07-28 15:27:41 +00:00  
				
					
						
							
							
								 
						
							
								536551d02d 
								
							 
						 
						
							
							
								
								tasn: do not remember stack traces for sync objects for Go (they are not reported anyway)  
							
							... 
							
							
							
							llvm-svn: 160861 
							
						 
						
							2012-07-27 13:21:33 +00:00  
				
					
						
							
							
								 
						
							
								e91e9ac2a2 
								
							 
						 
						
							
							
								
								tsan: remove unnecessary and wrong include  
							
							... 
							
							
							
							llvm-svn: 160860 
							
						 
						
							2012-07-27 13:21:01 +00:00  
				
					
						
							
							
								 
						
							
								55b405ef42 
								
							 
						 
						
							
							
								
								tsan: allow environment to override OnReport() and OverrideFlags()  
							
							... 
							
							
							
							llvm-svn: 160728 
							
						 
						
							2012-07-25 14:30:51 +00:00  
				
					
						
							
							
								 
						
							
								dfc8e52400 
								
							 
						 
						
							
							
								
								tsan: suport for Go finalizers  
							
							... 
							
							
							
							llvm-svn: 160723 
							
						 
						
							2012-07-25 13:16:35 +00:00  
				
					
						
							
							
								 
						
							
								bcf0b7002b 
								
							 
						 
						
							
							
								
								tsan: align report style with Go internal format  
							
							... 
							
							
							
							llvm-svn: 160672 
							
						 
						
							2012-07-24 12:29:43 +00:00  
				
					
						
							
							
								 
						
							
								69bee8d8f6 
								
							 
						 
						
							
							
								
								tsan: output goroutine creation stack  
							
							... 
							
							
							
							llvm-svn: 160670 
							
						 
						
							2012-07-24 12:03:47 +00:00  
				
					
						
							
							
								 
						
							
								c6d97c0ad1 
								
							 
						 
						
							
							
								
								[TSan] fix confusing error message in CheckFailed  
							
							... 
							
							
							
							llvm-svn: 160435 
							
						 
						
							2012-07-18 14:37:22 +00:00  
				
					
						
							
							
								 
						
							
								93ca829c2d 
								
							 
						 
						
							
							
								
								[TSan] cleanup header comments  
							
							... 
							
							
							
							llvm-svn: 160359 
							
						 
						
							2012-07-17 09:39:59 +00:00  
				
					
						
							
							
								 
						
							
								5bfac97ff9 
								
							 
						 
						
							
							
								
								tsan: use dynamic shadow stack for Go  
							
							... 
							
							
							
							llvm-svn: 160288 
							
						 
						
							2012-07-16 16:44:47 +00:00  
				
					
						
							
							
								 
						
							
								dc36d69b6a 
								
							 
						 
						
							
							
								
								tsan: increase number of dead threads for Go  
							
							... 
							
							
							
							llvm-svn: 160283 
							
						 
						
							2012-07-16 16:03:16 +00:00  
				
					
						
							
							
								 
						
							
								5e5e36712b 
								
							 
						 
						
							
							
								
								tsan: fix build  
							
							... 
							
							
							
							llvm-svn: 160267 
							
						 
						
							2012-07-16 13:25:47 +00:00  
				
					
						
							
							
								 
						
							
								c40c00767c 
								
							 
						 
						
							
							
								
								tsan: port Go runtime to Darwin  
							
							... 
							
							
							
							llvm-svn: 160266 
							
						 
						
							2012-07-16 13:02:40 +00:00  
				
					
						
							
							
								 
						
							
								38f318bf20 
								
							 
						 
						
							
							
								
								[tsan] use internal_strnlen in strncpy interceptor (the bug found while booting chromium)  
							
							... 
							
							
							
							llvm-svn: 160171 
							
						 
						
							2012-07-13 13:04:43 +00:00  
				
					
						
							
							
								 
						
							
								2c94cd6e3d 
								
							 
						 
						
							
							
								
								[Sanitizer] move flag parsing routines (and unit tests) from tsan runtime to common runtime.  
							
							... 
							
							
							
							llvm-svn: 159928 
							
						 
						
							2012-07-09 13:21:39 +00:00  
				
					
						
							
							
								 
						
							
								239ae7186b 
								
							 
						 
						
							
							
								
								tsan: Go language support fixes  
							
							... 
							
							
							
							llvm-svn: 159856 
							
						 
						
							2012-07-06 20:23:59 +00:00  
				
					
						
							
							
								 
						
							
								e0d31e9170 
								
							 
						 
						
							
							
								
								tsan: Go lang: symbolize stack traces  
							
							... 
							
							
							
							llvm-svn: 159827 
							
						 
						
							2012-07-06 14:54:25 +00:00  
				
					
						
							
							
								 
						
							
								03d32ecd4f 
								
							 
						 
						
							
							
								
								tsan: Go language support  
							
							... 
							
							
							
							llvm-svn: 159754 
							
						 
						
							2012-07-05 16:18:28 +00:00  
				
					
						
							
							
								 
						
							
								78a3bbc82c 
								
							 
						 
						
							
							
								
								[TSan] add a new option 'use_internal_symbolizer' that allows to choose between addr2line-based and llvm-based symbolizer w/o having to rebuild the runtime. This is hopefully a temporary solution that simplifies testing process. In the end, we should leave a single symbolizer.  
							
							... 
							
							
							
							llvm-svn: 159730 
							
						 
						
							2012-07-05 07:18:29 +00:00  
				
					
						
							
							
								 
						
							
								7a9fa7dbc5 
								
							 
						 
						
							
							
								
								tsan/asan: unify ScopedLock  
							
							... 
							
							
							
							llvm-svn: 159438 
							
						 
						
							2012-06-29 17:10:08 +00:00  
				
					
						
							
							
								 
						
							
								6fa46f7003 
								
							 
						 
						
							
							
								
								tsan/asan: unify atomics (move atomics from tsan to sanitizer_common)  
							
							... 
							
							
							
							llvm-svn: 159437 
							
						 
						
							2012-06-29 16:58:33 +00:00  
				
					
						
							
							
								 
						
							
								ef5a5a5650 
								
							 
						 
						
							
							
								
								tsan: replace struct copies where clang inserts memcpy() calls with explicit internal_memcpy() calls  
							
							... 
							
							
							
							llvm-svn: 159431 
							
						 
						
							2012-06-29 15:26:55 +00:00  
				
					
						
							
							
								 
						
							
								5bb47a6e0e 
								
							 
						 
						
							
							
								
								tsan: remove own memset/memcpy/memcmp (too messy)  
							
							... 
							
							
							
							llvm-svn: 159430 
							
						 
						
							2012-06-29 15:19:14 +00:00  
				
					
						
							
							
								 
						
							
								a932bdfc1e 
								
							 
						 
						
							
							
								
								tsan: clear shadow for ucontext, because it's visible to user  
							
							... 
							
							
							
							llvm-svn: 159365 
							
						 
						
							2012-06-28 18:20:50 +00:00  
				
					
						
							
							
								 
						
							
								fa985a02ef 
								
							 
						 
						
							
							
								
								tsan: fix crashes if signal is caught during thread bootstrap or shutdown  
							
							... 
							
							
							
							llvm-svn: 159361 
							
						 
						
							2012-06-28 18:07:46 +00:00  
				
					
						
							
							
								 
						
							
								e4df904770 
								
							 
						 
						
							
							
								
								tsan: add missing file (forgot to svn add in r159294)  
							
							... 
							
							
							
							llvm-svn: 159341 
							
						 
						
							2012-06-28 09:04:45 +00:00  
				
					
						
							
							
								 
						
							
								090f345522 
								
							 
						 
						
							
							
								
								tsan: prevent insertion of unwanted memset/memcpy/memcmp into runtime  
							
							... 
							
							
							
							llvm-svn: 159294 
							
						 
						
							2012-06-27 21:00:23 +00:00  
				
					
						
							
							
								 
						
							
								b94a8f0c39 
								
							 
						 
						
							
							
								
								tsan: remember and pass original ucontext to signal handlers (instead of a fabricated one)  
							
							... 
							
							
							
							llvm-svn: 159278 
							
						 
						
							2012-06-27 17:35:35 +00:00  
				
					
						
							
							
								 
						
							
								97c26bdaea 
								
							 
						 
						
							
							
								
								tsan: refactor signal handling code (move some definitions out of common header)  
							
							... 
							
							
							
							llvm-svn: 159266 
							
						 
						
							2012-06-27 16:05:06 +00:00  
				
					
						
							
							
								 
						
							
								d326a6cf93 
								
							 
						 
						
							
							
								
								tsan: check that signal handlers do not spoil errno.  
							
							... 
							
							
							
							llvm-svn: 159264 
							
						 
						
							2012-06-27 13:54:46 +00:00  
				
					
						
							
							
								 
						
							
								f8b7a8dc08 
								
							 
						 
						
							
							
								
								tsan: close all file descriptors after fork()  
							
							... 
							
							
							
							llvm-svn: 159263 
							
						 
						
							2012-06-27 12:48:46 +00:00  
				
					
						
							
							
								 
						
							
								ec64f3e738 
								
							 
						 
						
							
							
								
								tsan: remove internal allocator, switch to sanitizer_common one.  
							
							... 
							
							
							
							llvm-svn: 159141 
							
						 
						
							2012-06-25 15:03:15 +00:00  
				
					
						
							
							
								 
						
							
								de1fd1c83b 
								
							 
						 
						
							
							
								
								tsan: do not call malloc/free in memory access handling routine.  
							
							... 
							
							
							
							This improves signal-/fork-safety of instrumented programs.
llvm-svn: 158988 
							
						 
						
							2012-06-22 11:08:55 +00:00  
				
					
						
							
							
								 
						
							
								e1cb524226 
								
							 
						 
						
							
							
								
								[Sanitizer] Renaming: SNPrintf -> internal_snprintf (and move it to sanitizer libc)  
							
							... 
							
							
							
							llvm-svn: 158710 
							
						 
						
							2012-06-19 09:21:57 +00:00  
				
					
						
							
							
								 
						
							
								b1c3991915 
								
							 
						 
						
							
							
								
								[TSan] Add a comment that tsan_flags.h may be included in the user code, and therefore shouldn't include other headers from TSan or common sanitizer runtime. User may need tsan_flags.h to provide its implementation of __tsan::OverrideFlags  
							
							... 
							
							
							
							llvm-svn: 158708 
							
						 
						
							2012-06-19 08:57:53 +00:00  
				
					
						
							
							
								 
						
							
								cf7d233ac0 
								
							 
						 
						
							
							
								
								[TSan] kill some linux-specific code in favor of code in common runtime: reuse wrappers for mmap routines, ProcessMaps iterator, thread stack calculation  
							
							... 
							
							
							
							llvm-svn: 158657 
							
						 
						
							2012-06-18 09:42:39 +00:00  
				
					
						
							
							
								 
						
							
								58a3c58ec9 
								
							 
						 
						
							
							
								
								[Sanitizer] move different wrappers from TSan to common sanitizer runtime  
							
							... 
							
							
							
							llvm-svn: 158655 
							
						 
						
							2012-06-18 08:44:30 +00:00  
				
					
						
							
							
								 
						
							
								156958dd0c 
								
							 
						 
						
							
							
								
								[Sanitizer] move all the rest re-implementations of libc functions from ASan runtime to common sanitizer runtime  
							
							... 
							
							
							
							llvm-svn: 158519 
							
						 
						
							2012-06-15 13:09:52 +00:00  
				
					
						
							
							
								 
						
							
								3efd6fc26c 
								
							 
						 
						
							
							
								
								[Sanitizer] Use DEFINE_REAL macro in TSan runtime to call libc implementations of functions. Move strchr to sanitizer_libc.  
							
							... 
							
							
							
							llvm-svn: 158517 
							
						 
						
							2012-06-15 12:24:07 +00:00  
				
					
						
							
							
								 
						
							
								ea03fc2d78 
								
							 
						 
						
							
							
								
								tsan: fix COMPAT mapping to not produce false reports  
							
							... 
							
							
							
							llvm-svn: 158473 
							
						 
						
							2012-06-14 21:40:35 +00:00  
				
					
						
							
							
								 
						
							
								96ef49a71e 
								
							 
						 
						
							
							
								
								[Sanitizer] Move internal_memcmp to common sanitizer libc  
							
							... 
							
							
							
							llvm-svn: 158450 
							
						 
						
							2012-06-14 14:04:54 +00:00  
				
					
						
							
							
								 
						
							
								f516d39c1f 
								
							 
						 
						
							
							
								
								[TSan] use efficient real_memcpy inside runtime  
							
							... 
							
							
							
							llvm-svn: 158260 
							
						 
						
							2012-06-09 09:14:24 +00:00  
				
					
						
							
							
								 
						
							
								59036d2c06 
								
							 
						 
						
							
							
								
								[Sanitizer] add internal_memset and internal_strrchr to sanitizer_common/  
							
							... 
							
							
							
							llvm-svn: 158202 
							
						 
						
							2012-06-08 14:11:12 +00:00  
				
					
						
							
							
								 
						
							
								6cfc34ea7f 
								
							 
						 
						
							
							
								
								[TSan] s/internal_memset/real_memset  
							
							... 
							
							
							
							llvm-svn: 158200 
							
						 
						
							2012-06-08 13:59:39 +00:00  
				
					
						
							
							
								 
						
							
								91e1a7eb17 
								
							 
						 
						
							
							
								
								[Sanitizer] move internal_strdup and internal_memcpy to common runtime. Make internal allocations from TSan runtime call InternalAlloc from common runtime  
							
							... 
							
							
							
							llvm-svn: 158148 
							
						 
						
							2012-06-07 11:54:08 +00:00  
				
					
						
							
							
								 
						
							
								8bd9098b32 
								
							 
						 
						
							
							
								
								[Sanitizer] move placement_new definiton from TSan to common runtime  
							
							... 
							
							
							
							llvm-svn: 158145 
							
						 
						
							2012-06-07 09:50:16 +00:00  
				
					
						
							
							
								 
						
							
								e428779dbf 
								
							 
						 
						
							
							
								
								[Sanitizer] Use common CHECK machinery. Currently each tool has to define its own CheckFailed function.  
							
							... 
							
							
							
							llvm-svn: 158075 
							
						 
						
							2012-06-06 15:22:20 +00:00  
				
					
						
							
							
								 
						
							
								d323f4e78e 
								
							 
						 
						
							
							
								
								[Sanitizer] Remove __attribute__((format))  
							
							... 
							
							
							
							llvm-svn: 158070 
							
						 
						
							2012-06-06 13:58:39 +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  
				
					
						
							
							
								 
						
							
								ee07290628 
								
							 
						 
						
							
							
								
								[Sanitizer] Move more functions/constants to sanitizer_common.  
							
							... 
							
							
							
							llvm-svn: 158056 
							
						 
						
							2012-06-06 09:26:25 +00:00  
				
					
						
							
							
								 
						
							
								ca2b5d7abb 
								
							 
						 
						
							
							
								
								[Sanitizer] move internal_filesize and internal_dup2 from TSan to sanitizer_common.  
							
							... 
							
							
							
							llvm-svn: 158052 
							
						 
						
							2012-06-06 07:30:33 +00:00  
				
					
						
							
							
								 
						
							
								bc3a7e3fe2 
								
							 
						 
						
							
							
								
								[Sanitizer] add sanitizer_common.h for routines shared between TSan and ASan runtimes. Use __sanitizer::Die() in TSan.  
							
							... 
							
							
							
							llvm-svn: 158050 
							
						 
						
							2012-06-06 06:47:26 +00:00  
				
					
						
							
							
								 
						
							
								5bbf8290a7 
								
							 
						 
						
							
							
								
								[Sanitizer] rename sanitizer_defs.h to sanitizer_internal_defs.h  
							
							... 
							
							
							
							llvm-svn: 158001 
							
						 
						
							2012-06-05 14:25:27 +00:00  
				
					
						
							
							
								 
						
							
								8602c65719 
								
							 
						 
						
							
							
								
								[Sanitizer] remove using namespace __sanitizer lines  
							
							... 
							
							
							
							llvm-svn: 157999 
							
						 
						
							2012-06-05 14:05:09 +00:00  
				
					
						
							
							
								 
						
							
								ef2e2cfd33 
								
							 
						 
						
							
							
								
								[Sanitizer] Use common defines for ASan and TSan runtime. Split defines between interface defines (can be visible in user code that includes interface ASan/TSan headers) and internal defines.  
							
							... 
							
							
							
							llvm-svn: 157998 
							
						 
						
							2012-06-05 13:50:57 +00:00  
				
					
						
							
							
								 
						
							
								cc88531760 
								
							 
						 
						
							
							
								
								[TSan] Use internal_munmap from sanitizer_libc in TSan runtime.  
							
							... 
							
							
							
							llvm-svn: 157995 
							
						 
						
							2012-06-05 09:55:24 +00:00  
				
					
						
							
							
								 
						
							
								b8f35d9512 
								
							 
						 
						
							
							
								
								[TSan] make TSan runtime use internal_{close,read,write} from sanitizer_libc  
							
							... 
							
							
							
							llvm-svn: 157992 
							
						 
						
							2012-06-05 09:00:36 +00:00  
				
					
						
							
							
								 
						
							
								298dd7c361 
								
							 
						 
						
							
							
								
								[TSan] use __sanitizer::internal_open in TSan run-time  
							
							... 
							
							
							
							llvm-svn: 157988 
							
						 
						
							2012-06-05 07:46:31 +00:00  
				
					
						
							
							
								 
						
							
								11fff6df33 
								
							 
						 
						
							
							
								
								[TSan] use __sanitizer::internal_mmap in TSan run-time  
							
							... 
							
							
							
							llvm-svn: 157984 
							
						 
						
							2012-06-05 06:19:00 +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  
				
					
						
							
							
								 
						
							
								90f9630c80 
								
							 
						 
						
							
							
								
								[Sanitizer]: move internal_strcmp to sanitizer_common  
							
							... 
							
							
							
							llvm-svn: 157926 
							
						 
						
							2012-06-04 13:27:49 +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  
				
					
						
							
							
								 
						
							
								6f448700e4 
								
							 
						 
						
							
							
								
								tsan: fix a typo  
							
							... 
							
							
							
							llvm-svn: 157744 
							
						 
						
							2012-05-31 14:24:10 +00:00  
				
					
						
							
							
								 
						
							
								c5bea20e2e 
								
							 
						 
						
							
							
								
								[asan,tsan] rename files in sanitizer_common to have a common prefix (sanitizer_).  
							
							... 
							
							
							
							llvm-svn: 157740 
							
						 
						
							2012-05-31 13:42:53 +00:00  
				
					
						
							
							
								 
						
							
								d6ffccd1da 
								
							 
						 
						
							
							
								
								tsan: suppress reports against source file names as well  
							
							... 
							
							
							
							llvm-svn: 157739 
							
						 
						
							2012-05-31 13:18:11 +00:00  
				
					
						
							
							
								 
						
							
								92d917d91c 
								
							 
						 
						
							
							
								
								tsan: prevent recursive signal handlers  
							
							... 
							
							
							
							llvm-svn: 157625 
							
						 
						
							2012-05-29 15:51:27 +00:00  
				
					
						
							
							
								 
						
							
								458b4006b2 
								
							 
						 
						
							
							
								
								[asan,tsan] Add a new directory compiler-rt/lib/sanitizer_common  
							
							... 
							
							
							
							which will contain code shared between asan and tsan run-times.
Naming is hard. If you can suggest a better name for the directory -- speak up.
llvm-svn: 157611 
							
						 
						
							2012-05-29 12:18:18 +00:00  
				
					
						
							
							
								 
						
							
								880bb6697f 
								
							 
						 
						
							
							
								
								tsan: fix race during pthread_join/detach  
							
							... 
							
							
							
							llvm-svn: 157584 
							
						 
						
							2012-05-28 17:32:50 +00:00  
				
					
						
							
							
								 
						
							
								d558530754 
								
							 
						 
						
							
							
								
								tsan: increase /proc/self/maps max size (1M is far not enough)  
							
							... 
							
							
							
							llvm-svn: 157570 
							
						 
						
							2012-05-28 09:24:01 +00:00  
				
					
						
							
							
								 
						
							
								bd310f02a5 
								
							 
						 
						
							
							
								
								asan/tsan: rename interceptors from __xsan_xxx to __interceptor_xxx  
							
							... 
							
							
							
							llvm-svn: 157569 
							
						 
						
							2012-05-28 07:47:35 +00:00  
				
					
						
							
							
								 
						
							
								ebdf670ae7 
								
							 
						 
						
							
							
								
								tsan: more robust detection of stack of main thread  
							
							... 
							
							
							
							llvm-svn: 157568 
							
						 
						
							2012-05-28 07:46:42 +00:00  
				
					
						
							
							
								 
						
							
								3de9ca068f 
								
							 
						 
						
							
							
								
								tsan: use DCHECK_GT/LT instead of plain DCHECK (better diagnostics)  
							
							... 
							
							
							
							llvm-svn: 157567 
							
						 
						
							2012-05-28 07:45:35 +00:00  
				
					
						
							
							
								 
						
							
								2d4e3c140f 
								
							 
						 
						
							
							
								
								tsan: do not clean stack/tls for main thread  
							
							... 
							
							
							
							llvm-svn: 157566 
							
						 
						
							2012-05-28 07:44:34 +00:00  
				
					
						
							
							
								 
						
							
								7339eb197b 
								
							 
						 
						
							
							
								
								tsan: do not call into libc in symbolizer and in other code (this causes recursion and crashes)  
							
							... 
							
							
							
							llvm-svn: 157466 
							
						 
						
							2012-05-25 11:15:04 +00:00  
				
					
						
							
							
								 
						
							
								e86497ee1c 
								
							 
						 
						
							
							
								
								tsan: output message about failure to intercept only if verbosity flag is passed  
							
							... 
							
							
							
							llvm-svn: 157465 
							
						 
						
							2012-05-25 09:47:18 +00:00  
				
					
						
							
							
								 
						
							
								30c32a8819 
								
							 
						 
						
							
							
								
								tsan: fix compilation with newest clang  
							
							... 
							
							
							
							llvm-svn: 157391 
							
						 
						
							2012-05-24 14:50:33 +00:00  
				
					
						
							
							
								 
						
							
								7fb7330469 
								
							 
						 
						
							
							
								
								asan/tsan: weak interceptors  
							
							... 
							
							
							
							The idea isthat asan/tsan can survive if user intercepts the same functions. At the same time user has an ability to call back into asan/tsan runtime. See the following tests for examples:
asan/output_tests/interception_failure_test-linux.cc
asan/output_tests/interception_test-linux.cc
asan/output_tests/interception_malloc_test-linux.cc
llvm-svn: 157388 
							
						 
						
							2012-05-24 13:54:31 +00:00  
				
					
						
							
							
								 
						
							
								65c21a5e6d 
								
							 
						 
						
							
							
								
								tsan: add a flag to control RunningOnValgrind() return value  
							
							... 
							
							
							
							llvm-svn: 157383 
							
						 
						
							2012-05-24 09:24:45 +00:00  
				
					
						
							
							
								 
						
							
								302cebb8f1 
								
							 
						 
						
							
							
								
								tsan: add shadow memory flush + fix few bugs  
							
							... 
							
							
							
							llvm-svn: 157270 
							
						 
						
							2012-05-22 18:07:45 +00:00  
				
					
						
							
							
								 
						
							
								011a363c85 
								
							 
						 
						
							
							
								
								tsan: fix sizeof sigset_t  
							
							... 
							
							
							
							llvm-svn: 157268 
							
						 
						
							2012-05-22 18:01:33 +00:00  
				
					
						
							
							
								 
						
							
								4d30e9b5eb 
								
							 
						 
						
							
							
								
								tsan: fix makefile  
							
							... 
							
							
							
							allow to build custom configurations
llvm-svn: 157259 
							
						 
						
							2012-05-22 16:46:05 +00:00  
				
					
						
							
							
								 
						
							
								f6985e3ab9 
								
							 
						 
						
							
							
								
								tsan: reduce per-thread memory usage  
							
							... 
							
							
							
							llvm-svn: 157252 
							
						 
						
							2012-05-22 14:34:43 +00:00  
				
					
						
							
							
								 
						
							
								15710c9220 
								
							 
						 
						
							
							
								
								tsan: simple memory profiler  
							
							... 
							
							
							
							llvm-svn: 157248 
							
						 
						
							2012-05-22 11:33:03 +00:00  
				
					
						
							
							
								 
						
							
								46c1a4c25e 
								
							 
						 
						
							
							
								
								tsan: implement malloc/free hooks  
							
							... 
							
							
							
							llvm-svn: 157196 
							
						 
						
							2012-05-21 17:39:40 +00:00  
				
					
						
							
							
								 
						
							
								99ed663a42 
								
							 
						 
						
							
							
								
								tsan: do not assume non-recursive signal handlers  
							
							... 
							
							
							
							llvm-svn: 157187 
							
						 
						
							2012-05-21 14:24:20 +00:00  
				
					
						
							
							
								 
						
							
								163a8338be 
								
							 
						 
						
							
							
								
								tsan: replace CHECK with CHECK_EQ for better diagnostics  
							
							... 
							
							
							
							llvm-svn: 157181 
							
						 
						
							2012-05-21 10:20:53 +00:00  
				
					
						
							
							
								 
						
							
								98953b7a6d 
								
							 
						 
						
							
							
								
								tsan: better, more realistic handling of signals  
							
							... 
							
							
							
							llvm-svn: 157178 
							
						 
						
							2012-05-21 08:26:51 +00:00  
				
					
						
							
							
								 
						
							
								9d2229f3ca 
								
							 
						 
						
							
							
								
								tsan: add more checks for OOM conditions  
							
							... 
							
							
							
							tests like to try to malloc((size_t)-1)
llvm-svn: 157176 
							
						 
						
							2012-05-21 06:46:27 +00:00  
				
					
						
							
							
								 
						
							
								f64046cb3d 
								
							 
						 
						
							
							
								
								tsan: check for overflow in malloc()  
							
							... 
							
							
							
							llvm-svn: 157048 
							
						 
						
							2012-05-18 09:41:52 +00:00  
				
					
						
							
							
								 
						
							
								bea47a5029 
								
							 
						 
						
							
							
								
								tsan: fix potential NULL deref  
							
							... 
							
							
							
							llvm-svn: 157047 
							
						 
						
							2012-05-18 08:53:16 +00:00  
				
					
						
							
							
								 
						
							
								19b855fe3e 
								
							 
						 
						
							
							
								
								tsan: remove shutdown code  
							
							... 
							
							
							
							tsan runtime shutdown is problematic for 2 reasons:
1. others crash during shutdown
2. we have to override user exit status (don't know it and can't return from atexit handler)
llvm-svn: 156991 
							
						 
						
							2012-05-17 15:00:27 +00:00  
				
					
						
							
							
								 
						
							
								fee5b7d2e0 
								
							 
						 
						
							
							
								
								tsan: detect accesses to freed memory  
							
							... 
							
							
							
							http://codereview.appspot.com/6214052 
llvm-svn: 156990 
						
							2012-05-17 14:17:51 +00:00  
				
					
						
							
							
								 
						
							
								352358b715 
								
							 
						 
						
							
							
								
								tsan: ValgrindSlowdown() should be weak for some time  
							
							... 
							
							
							
							llvm-svn: 156982 
							
						 
						
							2012-05-17 08:31:47 +00:00  
				
					
						
							
							
								 
						
							
								166b8e5f33 
								
							 
						 
						
							
							
								
								tsan: add ValgrindSlowdown() "dynamic annotation"  
							
							... 
							
							
							
							llvm-svn: 156981 
							
						 
						
							2012-05-17 08:04:41 +00:00  
				
					
						
							
							
								 
						
							
								f015a94f09 
								
							 
						 
						
							
							
								
								tsan: improve addr2line symbolizer  
							
							... 
							
							
							
							-provide support for non-continous modules
-ignore not loaded sections
-more debug output
llvm-svn: 156924 
							
						 
						
							2012-05-16 16:40:47 +00:00  
				
					
						
							
							
								 
						
							
								480922f6a1 
								
							 
						 
						
							
							
								
								[tsan] fix old-style makefile -- we still need them to run our tests  
							
							... 
							
							
							
							llvm-svn: 156907 
							
						 
						
							2012-05-16 07:46:55 +00:00  
				
					
						
							
							
								 
						
							
								c9fd917b36 
								
							 
						 
						
							
							
								
								[tsan] makefile machinery to build tsan-rt (linux-x86_64 only)  
							
							... 
							
							
							
							llvm-svn: 156822 
							
						 
						
							2012-05-15 15:17:35 +00:00  
				
					
						
							
							
								 
						
							
								572c5b2a44 
								
							 
						 
						
							
							
								
								tsan: add more atomics to public interface (fetch_or/and/xor + 1-,2-byte versions)  
							
							... 
							
							
							
							llvm-svn: 156766 
							
						 
						
							2012-05-14 15:33:00 +00:00  
				
					
						
							
							
								 
						
							
								665ce2a2f4 
								
							 
						 
						
							
							
								
								tsan: enabled report suppression for signal-unsafe reports  
							
							... 
							
							
							
							llvm-svn: 156765 
							
						 
						
							2012-05-14 15:28:03 +00:00  
				
					
						
							
							
								 
						
							
								f5cbda29cd 
								
							 
						 
						
							
							
								
								tsan: make addr2line symbolizer understand dynamic libraries  
							
							... 
							
							
							
							Collect info about all dynamic libraries in the process (name, base, size).
Determine to what dyn lib the address relates, route request to addr2line instance for the lib.
llvm-svn: 156759 
							
						 
						
							2012-05-14 14:38:29 +00:00  
				
					
						
							
							
								 
						
							
								b078a33151 
								
							 
						 
						
							
							
								
								tsan: fix mmap fd  
							
							... 
							
							
							
							This is mostly to test my commit access.
Fixes fd passed to mmap(), -1 is the proper invalid fd.
llvm-svn: 156741 
							
						 
						
							2012-05-13 14:24:46 +00:00  
				
					
						
							
							
								 
						
							
								07c4805175 
								
							 
						 
						
							
							
								
								[tsan] run more kinds of builds as presubmit test (and fix gcc debug build)  
							
							... 
							
							
							
							llvm-svn: 156616 
							
						 
						
							2012-05-11 14:42:24 +00:00  
				
					
						
							
							
								 
						
							
								5b7cb1db61 
								
							 
						 
						
							
							
								
								[tsan] old-dstyle Makefile for tests; two helper scripts that analyze the assembly code of the hot functions  
							
							... 
							
							
							
							llvm-svn: 156547 
							
						 
						
							2012-05-10 15:10:03 +00:00  
				
					
						
							
							
								 
						
							
								df68b67f06 
								
							 
						 
						
							
							
								
								[tsan] add the old Makefile (which is the only way to build the tsan-rtl for now)  
							
							... 
							
							
							
							llvm-svn: 156544 
							
						 
						
							2012-05-10 14:04:19 +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