9147de0ddf 
								
							 
						 
						
							
							
								
								[asan] Versioned interceptor for pthread_create.  
							
							... 
							
							
							
							This fixes a crash in pthread_create on linux/i386 due to abi
incompatibility between intercepted and non-intercepted functions.
See the test case for more details.
llvm-svn: 248325 
							
						 
						
							2015-09-22 21:34:44 +00:00  
				
					
						
							
							
								 
						
							
								817ac724e2 
								
							 
						 
						
							
							
								
								[ASan] NFC: Factor out platform-specific interceptors  
							
							... 
							
							
							
							Reviewed at http://reviews.llvm.org/D8321 
llvm-svn: 232377 
							
						 
						
							2015-03-16 14:22:53 +00:00  
				
					
						
							
							
								 
						
							
								7555f5ed1f 
								
							 
						 
						
							
							
								
								[msan] Remove MSanDR and supporting code.  
							
							... 
							
							
							
							MSanDR is a dynamic instrumentation tool that can instrument the code
(prebuilt libraries and such) that could not be instrumented at compile time.
This code is unused (to the best of our knowledge) and unmaintained, and
starting to bit-rot.
llvm-svn: 222232 
							
						 
						
							2014-11-18 10:33:15 +00:00  
				
					
						
							
							
								 
						
							
								74bd6bc9f9 
								
							 
						 
						
							
							
								
								[sanitizer] move mlock interceptor from asan/tsan/msan to common; no functionality change intended  
							
							... 
							
							
							
							llvm-svn: 216407 
							
						 
						
							2014-08-25 20:57:59 +00:00  
				
					
						
							
							
								 
						
							
								373863d31e 
								
							 
						 
						
							
							
								
								Follow-up for r215436: use SIZE_T for strlen and wcslen interceptors.  
							
							... 
							
							
							
							llvm-svn: 216184 
							
						 
						
							2014-08-21 16:12:46 +00:00  
				
					
						
							
							
								 
						
							
								6963686c47 
								
							 
						 
						
							
							
								
								[ASan] Use more appropriate return types for strlen/wcslen to avoid MSVC warnings  
							
							... 
							
							
							
							llvm-svn: 215436 
							
						 
						
							2014-08-12 11:02:53 +00:00  
				
					
						
							
							
								 
						
							
								4af9c0ea80 
								
							 
						 
						
							
							
								
								[asan] i686-linux-android support.  
							
							... 
							
							
							
							Large part of this change is required due to
  https://code.google.com/p/android/issues/detail?id=61799 
dlsym() crashes when symbol resolution fails, which means
we have to limit the interceptor list instead of relying on
runtime detection.
There are minor differencies in system headers, too.
llvm-svn: 212273 
							
						 
						
							2014-07-03 14:20:56 +00:00  
				
					
						
							
							
								 
						
							
								fe18102649 
								
							 
						 
						
							
							
								
								[sancov] Handle fork.  
							
							... 
							
							
							
							Reset coverage data on fork().
For memory-mapped mode (coverage_direct=1) this helps avoid loss of data
(before this change two processes would write to the same file simultaneously).
For normal mode, this reduces coverage dump size, because PCs from the parent
process are no longer inherited by the child.
llvm-svn: 210180 
							
						 
						
							2014-06-04 12:13:54 +00:00  
				
					
						
							
							
								 
						
							
								b9e31d7fcd 
								
							 
						 
						
							
							
								
								[asan] use some LIKELY/UNLIKELY  
							
							... 
							
							
							
							llvm-svn: 208776 
							
						 
						
							2014-05-14 14:03:31 +00:00  
				
					
						
							
							
								 
						
							
								a7c602ac29 
								
							 
						 
						
							
							
								
								A set of trivial changes to support sanitizers on FreeBSD.  
							
							... 
							
							
							
							Patch by Viktor Kutuzov!
llvm-svn: 202801 
							
						 
						
							2014-03-04 08:55:41 +00:00  
				
					
						
							
							
								 
						
							
								f79669a323 
								
							 
						 
						
							
							
								
								[asan] Enable signal and sigaction interceptors on Android.  
							
							... 
							
							
							
							Fixes AddressSanitizer.SignalTest breakage.
llvm-svn: 201330 
							
						 
						
							2014-02-13 14:33:24 +00:00  
				
					
						
							
							
								 
						
							
								364bfdf4c9 
								
							 
						 
						
							
							
								
								[asan] Fix a bunch of style issues.  
							
							... 
							
							
							
							llvm-svn: 199380 
							
						 
						
							2014-01-16 13:17:13 +00:00  
				
					
						
							
							
								 
						
							
								c87794d055 
								
							 
						 
						
							
							
								
								[ASan] Delete asan_intercepted_functions.h, move the code into asan_interceptors.h  
							
							... 
							
							
							
							Fixes https://code.google.com/p/address-sanitizer/issues/detail?id=188 .
llvm-svn: 198048 
							
						 
						
							2013-12-26 15:34:31 +00:00  
				
					
						
							
							
								 
						
							
								42cebb00da 
								
							 
						 
						
							
							
								
								[sanitizer] Use the new sanitizer_interception.h header in all interceptors.  
							
							... 
							
							
							
							llvm-svn: 197808 
							
						 
						
							2013-12-20 13:17:31 +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  
				
					
						
							
							
								 
						
							
								fefc1e989c 
								
							 
						 
						
							
							
								
								If the program is linked to a dynamic ASan runtime which is not present in DYLD_INSERT_LIBRARIES  
							
							... 
							
							
							
							(which, in turn, is required for our interceptors to take effect), re-exec the program with
DYLD_INSERT_LIBRARIES set.
llvm-svn: 162547 
							
						 
						
							2012-08-24 09:22:05 +00:00  
				
					
						
							
							
								 
						
							
								bbff278c9c 
								
							 
						 
						
							
							
								
								Lots of trivial changes to remove extraneous semicolons throughout ASan.  
							
							... 
							
							
							
							llvm-svn: 159128 
							
						 
						
							2012-06-25 06:53:10 +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  
				
					
						
							
							
								 
						
							
								96ef49a71e 
								
							 
						 
						
							
							
								
								[Sanitizer] Move internal_memcmp to common sanitizer libc  
							
							... 
							
							
							
							llvm-svn: 158450 
							
						 
						
							2012-06-14 14:04:54 +00:00  
				
					
						
							
							
								 
						
							
								59036d2c06 
								
							 
						 
						
							
							
								
								[Sanitizer] add internal_memset and internal_strrchr to sanitizer_common/  
							
							... 
							
							
							
							llvm-svn: 158202 
							
						 
						
							2012-06-08 14:11:12 +00:00  
				
					
						
							
							
								 
						
							
								ee07290628 
								
							 
						 
						
							
							
								
								[Sanitizer] Move more functions/constants to sanitizer_common.  
							
							... 
							
							
							
							llvm-svn: 158056 
							
						 
						
							2012-06-06 09:26:25 +00:00  
				
					
						
							
							
								 
						
							
								7ac77d6b29 
								
							 
						 
						
							
							
								
								[Sanitizer] add sanitizer_posix.cc. Move more various functions into sanitizer_libc: sscanf, munmap, memchr  
							
							... 
							
							
							
							llvm-svn: 157994 
							
						 
						
							2012-06-05 09:49:25 +00:00  
				
					
						
							
							
								 
						
							
								90f9630c80 
								
							 
						 
						
							
							
								
								[Sanitizer]: move internal_strcmp to sanitizer_common  
							
							... 
							
							
							
							llvm-svn: 157926 
							
						 
						
							2012-06-04 13:27:49 +00:00  
				
					
						
							
							
								 
						
							
								06f2cd38c1 
								
							 
						 
						
							
							
								
								[Sanitizer] Move internal_strncpy to sanitizer_libc (and make its behavior conforming to manual)  
							
							... 
							
							
							
							llvm-svn: 157922 
							
						 
						
							2012-06-04 10:30:16 +00:00  
				
					
						
							
							
								 
						
							
								1d35d155fd 
								
							 
						 
						
							
							
								
								[asan] more renaming  
							
							... 
							
							
							
							llvm-svn: 157747 
							
						 
						
							2012-05-31 15:02:07 +00:00  
				
					
						
							
							
								 
						
							
								8d03204204 
								
							 
						 
						
							
							
								
								[asan] more renaming  
							
							... 
							
							
							
							llvm-svn: 157746 
							
						 
						
							2012-05-31 14:35:53 +00:00  
				
					
						
							
							
								 
						
							
								c6eb6a8287 
								
							 
						 
						
							
							
								
								Add internal_memset and replace the uses of REAL(memset) with it where the performance allows.  
							
							... 
							
							
							
							llvm-svn: 153641 
							
						 
						
							2012-03-29 12:20:47 +00:00  
				
					
						
							
							
								 
						
							
								9ce04b0c36 
								
							 
						 
						
							
							
								
								[asan] merge mac-specific interceptors into one function  
							
							... 
							
							
							
							llvm-svn: 153180 
							
						 
						
							2012-03-21 12:42:00 +00:00  
				
					
						
							
							
								 
						
							
								5f7048b396 
								
							 
						 
						
							
							
								
								[asan]: remove asan_mac.h  
							
							... 
							
							
							
							llvm-svn: 153179 
							
						 
						
							2012-03-21 12:29:54 +00:00  
				
					
						
							
							
								 
						
							
								7e07f56811 
								
							 
						 
						
							
							
								
								Introduce __asan_set_error_report_callback() to allow the client program post-process the error reports.  
							
							... 
							
							
							
							If the callback is set, Report() and Printf() print the reports into a buffer (together with stderr), which is then passed to the client.
llvm-svn: 151528 
							
						 
						
							2012-02-27 14:06:48 +00:00  
				
					
						
							
							
								 
						
							
								0d0b406aba 
								
							 
						 
						
							
							
								
								AddressSanitizer: use custom strtol/atoll functions  
							
							... 
							
							
							
							llvm-svn: 150812 
							
						 
						
							2012-02-17 16:15:09 +00:00  
				
					
						
							
							
								 
						
							
								fbb50f19ad 
								
							 
						 
						
							
							
								
								AddressSanitizer: revert r150683 - we can't get rid of headers that easily  
							
							... 
							
							
							
							llvm-svn: 150699 
							
						 
						
							2012-02-16 17:00:45 +00:00  
				
					
						
							
							
								 
						
							
								ca37969c24 
								
							 
						 
						
							
							
								
								AddressSanitizer: don't include pthread.h and signal.h in interceptors on Mac  
							
							... 
							
							
							
							llvm-svn: 150683 
							
						 
						
							2012-02-16 11:26:52 +00:00  
				
					
						
							
							
								 
						
							
								d2a9075de0 
								
							 
						 
						
							
							
								
								[ASan] Define an internal implementation of strchr to make stack OOB tests pass on Windows  
							
							... 
							
							
							
							llvm-svn: 150499 
							
						 
						
							2012-02-14 19:33:04 +00:00  
				
					
						
							
							
								 
						
							
								8489f2a564 
								
							 
						 
						
							
							
								
								AddressSanitizer: start factoring out interception machinery  
							
							... 
							
							
							
							llvm-svn: 150083 
							
						 
						
							2012-02-08 19:52:01 +00:00  
				
					
						
							
							
								 
						
							
								15965f9c3d 
								
							 
						 
						
							
							
								
								AddressSanitizer: Add macro for definition/declaration of interceptors  
							
							... 
							
							
							
							llvm-svn: 149602 
							
						 
						
							2012-02-02 10:39:40 +00:00  
				
					
						
							
							
								 
						
							
								2dcef2d2a8 
								
							 
						 
						
							
							
								
								AddressSanitizer: Enforce default visibility for all libc interceptors  
							
							... 
							
							
							
							llvm-svn: 149247 
							
						 
						
							2012-01-30 13:42:44 +00:00  
				
					
						
							
							
								 
						
							
								f519564d7c 
								
							 
						 
						
							
							
								
								Make compiler-rt/trunk/lib/asan compileable with Visual Studio 2008 on Windows.  
							
							... 
							
							
							
							Patch by Timur Iskhodzhanov (timurrrr@google.com )
To test:
$ cl /c *.c*
in the asan directory.
The code fails to link if you omit the "/c" part but that's one of the
next steps,
as well as a few TODO's I've put into the Windows-specific code.
llvm-svn: 149130 
							
						 
						
							2012-01-27 15:15:04 +00:00  
				
					
						
							
							
								 
						
							
								586ade114b 
								
							 
						 
						
							
							
								
								[asan] use internal_strcmp before asan_init is done. *may* fix asan issue  #30  
							
							... 
							
							
							
							llvm-svn: 148726 
							
						 
						
							2012-01-23 21:20:05 +00:00  
				
					
						
							
							
								 
						
							
								0c8fa7b8ed 
								
							 
						 
						
							
							
								
								[asan] remove OS-dependent includes from asan_interceptors.h  
							
							... 
							
							
							
							llvm-svn: 147916 
							
						 
						
							2012-01-11 02:32:40 +00:00  
				
					
						
							
							
								 
						
							
								65518014e2 
								
							 
						 
						
							
							
								
								[asan] don't use strstr/strncat from libc, use our own versions instead  
							
							... 
							
							
							
							llvm-svn: 147807 
							
						 
						
							2012-01-09 22:20:49 +00:00  
				
					
						
							
							
								 
						
							
								ba41e8d2c5 
								
							 
						 
						
							
							
								
								[asan]: fix mac build  
							
							... 
							
							
							
							llvm-svn: 147792 
							
						 
						
							2012-01-09 19:35:11 +00:00  
				
					
						
							
							
								 
						
							
								9fd01e5ea5 
								
							 
						 
						
							
							
								
								[asan] refactoring: move all interceptors to a single file  
							
							... 
							
							
							
							llvm-svn: 147784 
							
						 
						
							2012-01-09 18:53:15 +00:00  
				
					
						
							
							
								 
						
							
								6c4bd806fa 
								
							 
						 
						
							
							
								
								[asan] use custom libc-free getenv; a bit of refactoring around mmap calls  
							
							... 
							
							
							
							llvm-svn: 147326 
							
						 
						
							2011-12-28 22:58:01 +00:00  
				
					
						
							
							
								 
						
							
								50bc2a71b2 
								
							 
						 
						
							
							
								
								[asan] interceptor for strcat. Patch by samsonov@google.com  
							
							... 
							
							
							
							llvm-svn: 147316 
							
						 
						
							2011-12-28 19:08:49 +00:00  
				
					
						
							
							
								 
						
							
								6579e355c0 
								
							 
						 
						
							
							
								
								[asan] interceptor for memcmp. Patch by samsonov@google.com  
							
							... 
							
							
							
							llvm-svn: 147315 
							
						 
						
							2011-12-28 18:56:42 +00:00  
				
					
						
							
							
								 
						
							
								809632e28e 
								
							 
						 
						
							
							
								
								[asan] interceptors for strcasecmp and strncasecmp. patch by samsonov@google.com  
							
							... 
							
							
							
							llvm-svn: 147304 
							
						 
						
							2011-12-28 02:24:50 +00:00  
				
					
						
							
							
								 
						
							
								8b981c2564 
								
							 
						 
						
							
							
								
								The code instrumented with ASan may have its own instance of the  
							
							... 
							
							
							
							mach_override library.
In this case chances are that functions from it will be called from
mach_override_ptr() during ASan initialization.
This may lead to crashes (if those functions are instrumented) or
incorrect behavior (if the implementations differ).
The attached patch renames mach_override_ptr() into
__asan_mach_override_ptr() and makes the rest of the mach_override
internals hidden.
The corresponding AddressSanitizer bug is
http://code.google.com/p/address-sanitizer/issues/detail?id=22 
Patch by glider@google.com 
llvm-svn: 147303 
							
						 
						
							2011-12-28 01:08:14 +00:00  
				
					
						
							
							
								 
						
							
								93927f9e01 
								
							 
						 
						
							
							
								
								[asan] don't require __cxa_throw to be present in the process. This is the last dependency on libstdc++  
							
							... 
							
							
							
							llvm-svn: 145821 
							
						 
						
							2011-12-05 17:56:32 +00:00