Hans Wennborg 
							
						 
					 
					
						
						
							
						
						ce718ff9f4 
					 
					
						
						
							
							Extend the IL for selecting TLS models (PR9788)  
						
						... 
						
						
						
						This allows the user/front-end to specify a model that is better
than what LLVM would choose by default. For example, a variable
might be declared as
  @x = thread_local(initialexec) global i32 42
if it will not be used in a shared library that is dlopen'ed.
If the specified model isn't supported by the target, or if LLVM can
make a better choice, a different model may be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159077  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-23 11:37:03 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						e6cf2e0bd0 
					 
					
						
						
							
							[asan] instrument cmpxchg and atomicrmw  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157683  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-30 09:04:06 +00:00 
						 
				 
			
				
					
						
							
							
								Evgeniy Stepanov 
							
						 
					 
					
						
						
							
						
						06fdbaa914 
					 
					
						
						
							
							Use zero-based shadow by default on Android.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157317  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-23 11:52:12 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						3f119989c3 
					 
					
						
						
							
							[asan] small optimization: do not emit "x+0" instructions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155701  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-27 10:04:53 +00:00 
						 
				 
			
				
					
						
							
							
								Alexander Potapenko 
							
						 
					 
					
						
						
							
						
						55cabae685 
					 
					
						
						
							
							Fix issue 67 by checking that the interface functions weren't redefined in the compiled source file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155346  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-23 10:47:31 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						208a4ff2b5 
					 
					
						
						
							
							[asan] fix one more bug related to long double  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153189  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-21 15:28:50 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						8c0134a776 
					 
					
						
						
							
							[asan] don't emit __asan_mapping_offset/__asan_mapping_scale by default -- they are currently used only for experiments  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-19 16:40:35 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						a1c4504409 
					 
					
						
						
							
							[asan] rename class BlackList to FunctionBlackList and move it into a separate file -- we will need the same functionality in ThreadSanitizer  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152753  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-14 23:22:10 +00:00 
						 
				 
			
				
					
						
							
							
								Evgeniy Stepanov 
							
						 
					 
					
						
						
							
						
						d8313be410 
					 
					
						
						
							
							ASan: use getTypeAllocSize instead of getTypeStoreSize.  
						
						... 
						
						
						
						This change replaces getTypeStoreSize with getTypeAllocSize in AddressSanitizer
instrumentation for stack allocations.
One case where old behaviour produced undesired results is an optimization in
InstCombine pass (PromoteCastOfAllocation), which can replace  alloca(T) with
alloca(S), where S has the same AllocSize, but a smaller StoreSize. Another
case is memcpy(long double => long double), where ASan will poison bytes 10-15
of a stack-allocated long double (StoreSize  10, AllocSize 16,
sizeof(long double) = 16).
See http://llvm.org/bugs/show_bug.cgi?id=12047  for more context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151887  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-02 10:41:08 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						95e3cf44a9 
					 
					
						
						
							
							[asan] unpoison the stack before every noreturn call. Fixes asan issue 37. llvm part  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-08 21:36:17 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						858143816d 
					 
					
						
						
							
							Convert assert(0) to llvm_unreachable  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-07 05:05:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						18c7f80b3e 
					 
					
						
						
							
							reapply the patches reverted in r149470 that reenable ConstantDataArray,  
						
						... 
						
						
						
						but with a critical fix to the SelectionDAG code that optimizes copies
from strings into immediate stores: the previous code was stopping reading
string data at the first nul.  Address this by adding a new argument to
llvm::getConstantStringInfo, preserving the behavior before the patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149800  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-05 02:29:43 +00:00 
						 
				 
			
				
					
						
							
							
								Argyrios Kyrtzidis 
							
						 
					 
					
						
						
							
						
						91766fe066 
					 
					
						
						
							
							Revert Chris' commits up to r149348 that started causing VMCoreTests unit test to fail.  
						
						... 
						
						
						
						These are:
r149348
r149351
r149352
r149354
r149356
r149357
r149361
r149362
r149364
r149365
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-01 04:51:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6a89228fac 
					 
					
						
						
							
							eliminate the "string" form of ConstantArray::get, using  
						
						... 
						
						
						
						ConstantDataArray::getString instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149365  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-31 06:18:43 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						a1a8a323f4 
					 
					
						
						
							
							[asan] fix the ObjC support (asan Issue  #33 )  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149300  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-30 23:50:10 +00:00 
						 
				 
			
				
					
						
							
							
								Alexander Potapenko 
							
						 
					 
					
						
						
							
						
						8375bc9236 
					 
					
						
						
							
							Fix compilation of ASan tests on OS X Lion (see  http://code.google.com/p/address-sanitizer/issues/detail?id=32 )  
						
						... 
						
						
						
						The redzones emitted by AddressSanitizer for CFString instances confuse the linker and are of little use, so we shouldn't add them. 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149243  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-30 10:40:22 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						f1639abf1a 
					 
					
						
						
							
							[asan] correctly use ConstantExpr::getGetElementPtr. Catch by NAKAMURA Takumi  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149172  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-28 04:27:16 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						0307b9a885 
					 
					
						
						
							
							[asan] enable asan only for the functions that have Attribute::AddressSafety  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148846  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-24 19:34:43 +00:00 
						 
				 
			
				
					
						
							
							
								Alexander Potapenko 
							
						 
					 
					
						
						
							
						
						2587804203 
					 
					
						
						
							
							Implemented AddressSanitizer::getPassName()  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148697  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-23 11:22:43 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						bcb55ce386 
					 
					
						
						
							
							[asan] extend the workaround for  http://llvm.org/bugs/show_bug.cgi?id=11395 : don't instrument the function at all on x86_32 if it has a large asm blob  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147953  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-11 18:15:23 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						3c7faae346 
					 
					
						
						
							
							[asan] cleanup: remove the SIGILL-related code (compiler part)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-06 18:09:21 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						a4b2b1d8fb 
					 
					
						
						
							
							[asan] add the name of the module to the description of a global variable. This improves the readability of global-buffer-overflow reports.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146698  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-15 22:55:55 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						7bcfc9950b 
					 
					
						
						
							
							[asan] fix a bug (issue 19) where dlclose and the following mmap caused a false positive. compiler part.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146688  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-15 21:59:03 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						bd7910d158 
					 
					
						
						
							
							[asan] remove .preinit_array from the compiler module (it breaks .so builds). This should be done in the run-time.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-14 00:01:51 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						085cb8f0b9 
					 
					
						
						
							
							[asan] report an error if blacklist file contains a malformed regex. fixes asan issue 17  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146503  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-13 19:34:53 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						9b02741d22 
					 
					
						
						
							
							[asan] use .preinit_array only on linux  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146379  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-12 18:01:46 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						25a8b809a0 
					 
					
						
						
							
							[asan] call __asan_init from .preinit_array. This simplifies __asan_init vs malloc chicken-and-egg situation on Android and probably on other flavours of Linux. Patch by eugenis@google.com.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146284  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-09 22:09:32 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						cc1d856d8e 
					 
					
						
						
							
							[asan] two minor fixes: use UnreachableInst after the neverreturn function call; use report_fatal_error when blacklist file can not be found  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145611  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-01 18:54:53 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						d2703dec27 
					 
					
						
						
							
							[asan] do not instrument threadlocal globals, this is buggy  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145092  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-23 02:10:54 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						5a3a9c9371 
					 
					
						
						
							
							[asan] workaround for reg alloc bug 11395: don't instrument functions with large chunks of inline assembler  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144962  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-18 01:41:06 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						2e7fb2f736 
					 
					
						
						
							
							quick fix: remove GlobalVariable::GlobalVariable mistakenly commited at r144933. For some reason this compiles on linux  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144936  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-17 23:37:53 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						7cf2a04361 
					 
					
						
						
							
							fall back to explicit list of allowed linkages when instrumenting globals in asan; add a test check that asan does not touch linkonce_odr  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144933  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-17 23:14:59 +00:00 
						 
				 
			
				
					
						
							
							
								Kostya Serebryany 
							
						 
					 
					
						
						
							
						
						800e03f598 
					 
					
						
						
							
							AddressSanitizer, first commit (compiler module only)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144758  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-16 01:35:23 +00:00