Kostya Serebryany
154a54d972
[asan] unpoison the stack before every noreturn call. Fixes asan issue 37. llvm part
...
llvm-svn: 150102
2012-02-08 21:36:17 +00:00
Craig Topper
a2886c21d9
Convert assert(0) to llvm_unreachable
...
llvm-svn: 149967
2012-02-07 05:05:23 +00:00
Chris Lattner
cf9e8f6968
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.
llvm-svn: 149800
2012-02-05 02:29:43 +00:00
Argyrios Kyrtzidis
17c981a45b
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
llvm-svn: 149470
2012-02-01 04:51:17 +00:00
Chris Lattner
f1179025ae
eliminate the "string" form of ConstantArray::get, using
...
ConstantDataArray::getString instead.
llvm-svn: 149365
2012-01-31 06:18:43 +00:00
Kostya Serebryany
22ddcfd2df
[asan] fix the ObjC support (asan Issue #33 )
...
llvm-svn: 149300
2012-01-30 23:50:10 +00:00
Alexander Potapenko
7a36f9d399
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.
llvm-svn: 149243
2012-01-30 10:40:22 +00:00
Kostya Serebryany
7471d1303d
[asan] correctly use ConstantExpr::getGetElementPtr. Catch by NAKAMURA Takumi
...
llvm-svn: 149172
2012-01-28 04:27:16 +00:00
Kostya Serebryany
c11d1dd133
[asan] enable asan only for the functions that have Attribute::AddressSafety
...
llvm-svn: 148846
2012-01-24 19:34:43 +00:00
Alexander Potapenko
c94cf8faf6
Implemented AddressSanitizer::getPassName()
...
llvm-svn: 148697
2012-01-23 11:22:43 +00:00
Kostya Serebryany
687d078192
[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
...
llvm-svn: 147953
2012-01-11 18:15:23 +00:00
Kostya Serebryany
3411f2ea68
[asan] cleanup: remove the SIGILL-related code (compiler part)
...
llvm-svn: 147667
2012-01-06 18:09:21 +00:00
Kostya Serebryany
7a9eb49a47
[asan] add the name of the module to the description of a global variable. This improves the readability of global-buffer-overflow reports.
...
llvm-svn: 146698
2011-12-15 22:55:55 +00:00
Kostya Serebryany
cd1aba8b4d
[asan] fix a bug (issue 19) where dlclose and the following mmap caused a false positive. compiler part.
...
llvm-svn: 146688
2011-12-15 21:59:03 +00:00
Kostya Serebryany
ac6ae7302d
[asan] remove .preinit_array from the compiler module (it breaks .so builds). This should be done in the run-time.
...
llvm-svn: 146527
2011-12-14 00:01:51 +00:00
Kostya Serebryany
21dc2be97a
[asan] report an error if blacklist file contains a malformed regex. fixes asan issue 17
...
llvm-svn: 146503
2011-12-13 19:34:53 +00:00
Kostya Serebryany
acb42b5919
[asan] use .preinit_array only on linux
...
llvm-svn: 146379
2011-12-12 18:01:46 +00:00
Kostya Serebryany
3563f8cd41
[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.
...
llvm-svn: 146284
2011-12-09 22:09:32 +00:00
Kostya Serebryany
d594bac68b
[asan] two minor fixes: use UnreachableInst after the neverreturn function call; use report_fatal_error when blacklist file can not be found
...
llvm-svn: 145611
2011-12-01 18:54:53 +00:00
Kostya Serebryany
8b5c7a56a3
[asan] do not instrument threadlocal globals, this is buggy
...
llvm-svn: 145092
2011-11-23 02:10:54 +00:00
Kostya Serebryany
1cdc6e9567
[asan] workaround for reg alloc bug 11395: don't instrument functions with large chunks of inline assembler
...
llvm-svn: 144962
2011-11-18 01:41:06 +00:00
Kostya Serebryany
a6edf4c21f
quick fix: remove GlobalVariable::GlobalVariable mistakenly commited at r144933. For some reason this compiles on linux
...
llvm-svn: 144936
2011-11-17 23:37:53 +00:00
Kostya Serebryany
65e2211b95
fall back to explicit list of allowed linkages when instrumenting globals in asan; add a test check that asan does not touch linkonce_odr
...
llvm-svn: 144933
2011-11-17 23:14:59 +00:00
Kostya Serebryany
6e6b03ec46
AddressSanitizer, first commit (compiler module only)
...
llvm-svn: 144758
2011-11-16 01:35:23 +00:00