Dmitry Vyukov
333112a439
tsan: merge 2 similar tests into 1
...
llvm-svn: 192874
2013-10-17 08:27:24 +00:00
Dmitry Vyukov
e88dbe5774
tsan: add a test for __tsan_default_options()
...
llvm-svn: 192873
2013-10-17 08:13:38 +00:00
Will Dietz
ece9ede240
Use configured PYTHON in asan lit tests.
...
llvm-svn: 192870
2013-10-17 05:33:22 +00:00
Dmitry Vyukov
cdc971c03c
tsan: revert variable name change in test
...
It works as is with new llvm-symbolizer.
llvm-svn: 192798
2013-10-16 15:57:23 +00:00
Dmitry Vyukov
464ebbd67b
tsan: move shadow stack from thread descriptors to fixed addresses
...
This allows to increase max shadow stack size to 64K,
and reliably catch shadow stack overflows instead of silently
corrupting memory.
llvm-svn: 192797
2013-10-16 15:35:12 +00:00
Kostya Serebryany
442c4e4b1a
[asan] introduce run-time flag 'poison_partial'
...
llvm-svn: 192793
2013-10-16 13:49:01 +00:00
Alexey Samsonov
fa103da867
[Sanitizer] Fix lint checker script on Mac
...
llvm-svn: 192791
2013-10-16 13:38:23 +00:00
Dmitry Vyukov
d8f595edf1
tsan: refactor libignore implementation
...
llvm-svn: 192785
2013-10-16 11:28:12 +00:00
Alexey Samsonov
1fe87e031c
[TSan] Extend test for reporting globals with races on them
...
llvm-svn: 192782
2013-10-16 09:56:17 +00:00
Evgeniy Stepanov
ec8ec333f0
[asan] Remove CallocOverflow32 test from asan_test.
...
The same as with MSan, this test behavior depends on ASAN_OPTIONS, and we've
got a lit_test that covers this.
llvm-svn: 192777
2013-10-16 08:34:31 +00:00
Evgeniy Stepanov
8df08225e5
[msan] Handle origins in __sanitizer_unaligned_(load|store)*.
...
llvm-svn: 192776
2013-10-16 08:25:13 +00:00
Alexey Samsonov
edecc38395
Make some pthread_mutex_* and pthread_cond_* interceptors common.
...
Reviewers: eugenis, dvyukov
Reviewed By: dvyukov
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1937
llvm-svn: 192774
2013-10-16 08:20:31 +00:00
Sergey Matveev
27ef175ef0
[lsan] Fix bug when discovering indirectly leaked objects.
...
If an object contains pointers to itself, that doesn't make it indirectly
leaked. D'oh!
llvm-svn: 192716
2013-10-15 16:00:11 +00:00
Dmitry Vyukov
81f76f6ff7
tsan: introduce __tsan_default_options() function
...
The function allows to statically setup default values for flags.
The interafece matches what asan/msan provide.
llvm-svn: 192715
2013-10-15 15:58:11 +00:00
Dmitry Vyukov
21e99319f4
tsan: be silent if verbosity=0
...
Currently tests fail with:
Check failed: 'AAA' == 'AAA ==26017==Could not detach from thread 361395 (errno 3).'
llvm-svn: 192711
2013-10-15 15:35:56 +00:00
Dmitry Vyukov
7502a3a90c
tsan: use verbosity flag in sanitizer_common code directly
...
now it's available from common_flags()
llvm-svn: 192705
2013-10-15 14:12:26 +00:00
Dmitry Vyukov
45baa00dcb
tsan: actually parse verbofity flag
...
llvm-svn: 192704
2013-10-15 14:00:28 +00:00
Dmitry Vyukov
52ca74ec61
tsan: move verbosity flag to CommonFlags
...
llvm-svn: 192701
2013-10-15 13:28:51 +00:00
Dmitry Vyukov
a55db0a90f
tsan: do not leave trash source files in source dir
...
llvm-svn: 192700
2013-10-15 13:23:29 +00:00
Dmitry Vyukov
347f1a5ee0
tsan: refactor overly-complex logical condition
...
llvm-svn: 192698
2013-10-15 13:04:42 +00:00
Dmitry Vyukov
a72f6a57e9
tsan: fix Go build
...
llvm-svn: 192696
2013-10-15 13:03:06 +00:00
Dmitry Vyukov
f54835f768
tsan: move kernel struct definition from sanitizer_linux.h to sanitizer_platform_limits_posix.h
...
llvm-svn: 192695
2013-10-15 12:57:59 +00:00
Dmitry Vyukov
d534fff6af
tsan: do not build llvm from scratch on each presubmit
...
llvm-svn: 192694
2013-10-15 12:54:50 +00:00
Dmitry Vyukov
7ac0b2b0e1
tsan: use sanitizer::CommonFlags in tsan
...
llvm-svn: 192692
2013-10-15 12:25:29 +00:00
Evgeniy Stepanov
7a2bbc30a2
[msan] Remove CallocOverflow test.
...
This behaviour depends on MSAN_OPTIONS.
All interesting combinations are covered by lit_tests/allocator_returns_null.cc.
llvm-svn: 192691
2013-10-15 12:20:16 +00:00
Sergey Matveev
14b9924c7b
Clean up StopTheWorld code after r192686.
...
Remove outdated comments. Also remove code that handled an issue in libc's
sigaction(), which we don't use anymore.
llvm-svn: 192689
2013-10-15 11:54:38 +00:00
Dmitry Vyukov
6f61206f55
tsan: resolve symlinks for called_from_lib suppressions
...
llvm-svn: 192688
2013-10-15 11:34:59 +00:00
Evgeniy Stepanov
113c646c56
[msan] Implement allocator_may_return_null=1 in MemorySanitizer.
...
llvm-svn: 192687
2013-10-15 11:33:48 +00:00
Dmitry Vyukov
59c850de6d
tsan: implement internal syscall-based versions of sigaction/sigprocmask
...
use them in stoptheworld
fixes applications that intercept sigaction/sigprocmask
llvm-svn: 192686
2013-10-15 11:31:51 +00:00
Evgeniy Stepanov
3feb458a56
Fix a typo.
...
llvm-svn: 192685
2013-10-15 11:22:33 +00:00
Alexey Samsonov
d2ddcf575d
[ASan] Make test from r192581 Linux-only, as wild memory contents is less predictable on Mac
...
llvm-svn: 192677
2013-10-15 07:54:27 +00:00
Evgeniy Stepanov
251d1e5d21
[msan] Test for r192599.
...
llvm-svn: 192600
2013-10-14 15:17:05 +00:00
Sergey Matveev
43d90cbd86
[lsan] Support ASan's stack-use-after-return mode in LSan.
...
Treat the fake stack as live memory.
llvm-svn: 192593
2013-10-14 14:04:50 +00:00
Evgeniy Stepanov
7d7768e032
[msan] Remove a long-outdated comment.
...
llvm-svn: 192592
2013-10-14 13:30:40 +00:00
Sergey Matveev
da9f5e7e7f
[asan] Improve thread lifetime tracking on POSIX systems.
...
Call AsanThread::Destroy() from a late-running TSD destructor.
Previously we called it before any user-registered TSD destructors, which caused
false positives in LeakSanitizer.
llvm-svn: 192585
2013-10-14 12:01:05 +00:00
Evgeniy Stepanov
7aacd9c172
[msan] Intercept strto(d|f|ld)_l and glibc-specific __strto(d|f|ld)_l.
...
llvm-svn: 192583
2013-10-14 11:52:40 +00:00
Alexey Samsonov
df6e6569c0
[ASan] Don't die with internal ASan error on large buffer overflows
...
Summary:
Out-of-bound access may touch not-yet allocated or already freed
and recycled from quarantine chunks. We should treat this situation as
a "free-range memory access" and avoid printing any data about that
irrelevant chunk (which may be inconsistent).
This should fix https://code.google.com/p/address-sanitizer/issues/detail?id=183
Reviewers: kcc
Reviewed By: kcc
CC: timurrrr, llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1893
llvm-svn: 192581
2013-10-14 11:13:54 +00:00
Evgeniy Stepanov
054d533d8d
[msan] Regression test for r192575.
...
llvm-svn: 192577
2013-10-14 09:53:39 +00:00
Dmitry Vyukov
4314e319ab
tsan: allow to override OnPrint() callback in Go runtime
...
llvm-svn: 192576
2013-10-14 09:52:40 +00:00
Alexey Samsonov
c7ae7529e7
[Sanitizer] Return implementation of StackTrace::CopyFrom to header
...
llvm-svn: 192574
2013-10-14 07:36:10 +00:00
Dmitry Vyukov
abc416f326
tsan: allow to override OnFinalize() in front-ends that does not support weak functions (Go)
...
llvm-svn: 192569
2013-10-14 06:31:03 +00:00
Alexey Samsonov
7f5823844a
[Sanitizer] Remove StackTrace::max_depth field
...
llvm-svn: 192534
2013-10-12 12:40:47 +00:00
Alexey Samsonov
c129e65661
[Sanitizer] Turn GetStackTrace() into StackTrace::Unwind()
...
llvm-svn: 192533
2013-10-12 12:23:00 +00:00
Sergey Matveev
53e61b1acf
[sanitizer] Define kPthreadDestructorIterations on POSIX systems.
...
llvm-svn: 192453
2013-10-11 14:19:14 +00:00
Dmitry Vyukov
6dc0775f1f
tsan: catch more races on file descriptors
...
llvm-svn: 192452
2013-10-11 14:13:11 +00:00
Dmitry Vyukov
c9f9ada48d
tsan: fix epoll_ctl interceptor
...
Currently data-race-test unittests fail with the following false positive:
WARNING: ThreadSanitizer: data race (pid=20365)
Write of size 8 at 0x7da000008050 by thread T54:
#0 close tsan_interceptors.cc:1483 (racecheck_unittest-linux-amd64-O0+0x0000000eb34a)
#1 NegativeTests_epoll::Worker2() unittest/posix_tests.cc:1148 (racecheck_unittest-linux-amd64-O0+0x0000000cc6b1)
#2 MyThread::ThreadBody(MyThread*) unittest/./thread_wrappers_pthread.h:367 (racecheck_unittest-linux-amd64-O0+0x000000097500)
Previous read of size 8 at 0x7da000008050 by thread T49:
#0 epoll_ctl tsan_interceptors.cc:1646 (racecheck_unittest-linux-amd64-O0+0x0000000e9fee)
#1 NegativeTests_epoll::Worker1() unittest/posix_tests.cc:1140 (racecheck_unittest-linux-amd64-O0+0x0000000cc5b5)
#2 MyThread::ThreadBody(MyThread*) unittest/./thread_wrappers_pthread.h:367 (racecheck_unittest-linux-amd64-O0+0x000000097500)
llvm-svn: 192448
2013-10-11 13:33:22 +00:00
Sergey Matveev
6c5e943953
[sanitizer] Ninja style fix to r192442.
...
llvm-svn: 192443
2013-10-11 12:15:45 +00:00
Sergey Matveev
dc75cf3368
[sanitizer] Move the PTHREAD_DESTRUCTOR_ITERATIONS constant to sanitizer_linux.h.
...
Add a test.
llvm-svn: 192442
2013-10-11 12:09:49 +00:00
Alexey Samsonov
0cd96165f1
[Sanitizer] StackTrace: kill CopyTo and reimplement CopyFrom
...
llvm-svn: 192441
2013-10-11 11:14:20 +00:00
Alexey Samsonov
9d8385453b
[Sanitizer] Simplify StackTrace::FastUnwindStack interface and fix a bug with one-frame stack traces
...
llvm-svn: 192428
2013-10-11 09:58:30 +00:00