132 Commits

Author SHA1 Message Date
Evgeniy Stepanov
d17b061eed [msan] Use new -fsanitize-memory-track-origins= flag in MSan tests.
llvm-svn: 204347
2014-03-20 15:00:39 +00:00
Dmitry Vyukov
454abc0093 tsan: deflake test
llvm-svn: 204340
2014-03-20 13:27:11 +00:00
Alexey Samsonov
6c3f7fcb8a Mark this test as 64-bit specific
llvm-svn: 204319
2014-03-20 07:37:45 +00:00
Dmitry Vyukov
1af191e1f4 tsan: add test for second_deadlock_stack flag
llvm-svn: 204240
2014-03-19 15:00:38 +00:00
Evgeniy Stepanov
a57750482f [msan] Fix line numbers in test.
This corresponds to a fix in llvm::SplitBlockAndInsertIfThen.

llvm-svn: 204229
2014-03-19 12:56:38 +00:00
Kostya Serebryany
2ea796e05f [sanitizer] deadlock detector: a) initial support for suppressions, b) be more robust in case we failed to extract a stack trace for one of the locks
llvm-svn: 204225
2014-03-19 12:26:33 +00:00
Joerg Sonnenberger
14743127b7 Use CRT_HAS_128BIT.
llvm-svn: 204182
2014-03-18 21:35:30 +00:00
Evgeniy Stepanov
412d973980 [msan] Origin tracking with history, compiler-rt part.
Compiler-rt part of MSan implementation of advanced origin tracking,
when we record not only creation point, but all locations where
an uninitialized value was stored to memory, too.

llvm-svn: 204152
2014-03-18 13:45:19 +00:00
Dmitry Vyukov
eac8cc7a42 tsan: fix flaky test
llvm-svn: 204119
2014-03-18 06:37:31 +00:00
Kostya Serebryany
5c0171b811 [sanitizer] a bit more informative deadlock detector report (still lots to improve)
llvm-svn: 204115
2014-03-18 05:56:14 +00:00
Kostya Serebryany
f01c094cdd [sanitizer] reverse the order of the stack traces printed for every pair of locks in the deadlock report (first print the 'from' node, then print the 'to' node of the deadlock graph)
llvm-svn: 204043
2014-03-17 14:56:04 +00:00
Kostya Serebryany
8976539627 [sanitizer] make the deadlock detector print 2*N stack traces on lock-order-inversion with N locks (i.e. print stack traces for both lock acquisitions in every edge in the graph). More improvements to follow
llvm-svn: 204042
2014-03-17 14:41:36 +00:00
Kostya Serebryany
779ccf3b2c [sanitizer] one more output test for the deadlock detector
llvm-svn: 204036
2014-03-17 09:32:48 +00:00
Kostya Serebryany
b9cb473fb8 [sanitizer] fix build warnings; add an output test for the deadlock detecor
llvm-svn: 204035
2014-03-17 09:21:41 +00:00
Alexander Potapenko
b76ea32834 [ASan] Fix https://code.google.com/p/address-sanitizer/issues/detail?id=274
by ignoring globals from __TEXT,__cstring,cstring_literals during instrumenation.
Add a regression test.

llvm-svn: 203916
2014-03-14 10:41:49 +00:00
Dmitry Vyukov
a02fac7bec tsan: update the test since the bug is fixed
http://llvm.org/bugs/show_bug.cgi?id=19113 is fixed, so enable the better CHECK

llvm-svn: 203784
2014-03-13 10:54:16 +00:00
Kostya Serebryany
de3f20cf4b [sanitizer] support recursive rwlocks in bitset-based deadlock detector
llvm-svn: 203779
2014-03-13 10:26:03 +00:00
Dmitry Vyukov
8c0f86e307 tsan: fix handling of pthread_cond_wait in presence of pthread_cancel
if the thread is cancelled in pthread_cond_wait, it locks the mutex before
processing pthread_cleanup stack
but tsan was missing that, thus reporting false double-lock/wrong-unlock errors
see the test for details

llvm-svn: 203648
2014-03-12 09:48:14 +00:00
Dmitry Vyukov
47fd6179b1 tsan: add disabled test for http://llvm.org/bugs/show_bug.cgi?id=19113
llvm-svn: 203646
2014-03-12 08:24:49 +00:00
Alexey Samsonov
8ad7a05bb4 Improve llvm-symbolizer discovery in asan_symbolize.py
llvm-svn: 202982
2014-03-05 15:00:36 +00:00
Sergey Matveev
8bf42919e6 [msan] Make up for missing interceptor in getxattr() test.
llvm-svn: 202846
2014-03-04 13:13:34 +00:00
Alexey Samsonov
3d9adc0a73 [ASan] Speed up stack trace unwinding for stacks of size 2.
Summary:
We don't need to do any work in this case - just take
the current PC and caller PC.

Reviewers: eugenis, ygribov

Reviewed By: eugenis

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2936

llvm-svn: 202845
2014-03-04 13:12:25 +00:00
Sergey Matveev
e7b3e4c2ae [msan] Add missing line to getxattr() test.
llvm-svn: 202841
2014-03-04 12:41:18 +00:00
Dmitry Vyukov
811d16c953 tsan: prevent actual deadlock in deadlock detector test
llvm-svn: 202502
2014-02-28 14:34:25 +00:00
Kostya Serebryany
eae464f911 [sanitizer] speedup deadlock detector for the case when we acquire the first lock in a thread
llvm-svn: 202492
2014-02-28 11:56:14 +00:00
Kostya Serebryany
afc4f2af76 [sanitizer] speedup deadlock detector for the case when we destroy a mutex that has never been locked
llvm-svn: 202487
2014-02-28 10:59:33 +00:00
Dmitry Vyukov
371639ea1f tsan: deflake test
llvm-svn: 202484
2014-02-28 10:47:07 +00:00
Kostya Serebryany
261993ad1a [sanitizer] a test for recursive rwlock and deadlock detector (currently fails)
llvm-svn: 202480
2014-02-28 10:03:51 +00:00
Kostya Serebryany
b86b56c0db [tsan] one more test for deadlock detector
llvm-svn: 202476
2014-02-28 09:17:16 +00:00
Dmitry Vyukov
d8c2fbd57f tsan: another attempt to fix the tls_get_addr crash
llvm-svn: 202405
2014-02-27 15:07:45 +00:00
Dmitry Vyukov
a12923e265 tsan: intercept vfork
this fixes obscure false positives
see the comments and the test for details

llvm-svn: 202400
2014-02-27 14:36:16 +00:00
Dmitry Vyukov
17ca4d06c7 tsan: 2 more deadlock detector benchmarks
llvm-svn: 202379
2014-02-27 12:05:17 +00:00
Dmitry Vyukov
8a0813d944 tsan: fix deadlock detector lit test output
llvm-svn: 202368
2014-02-27 09:18:08 +00:00
Dmitry Vyukov
511118c762 tsan: add another deadlock detector benchmark
llvm-svn: 202366
2014-02-27 09:05:07 +00:00
Dmitry Vyukov
794500ae4e tsan: add recursive deadlock detector benchmark
llvm-svn: 202361
2014-02-27 08:33:52 +00:00
Dmitry Vyukov
c546943b6a tsan: improve deadlock detector test
- allow to specify which test to run
- allow to specify number of iterations
- specify number of threads required in the test itself

llvm-svn: 202358
2014-02-27 08:04:20 +00:00
Dmitry Vyukov
0f34a3ba8c tsan: fix deadlock detector test so that it does not force contention in runtime
llvm-svn: 202278
2014-02-26 17:06:58 +00:00
Alexander Potapenko
4b1a7fe33a [ASan] Split interception-in-shared-lib-test.cc into two tests with platform-specific RUN commands.
Get rid of a TestCases/SharedLibs/shared-lib-test-so.cc dependency in these tests.

llvm-svn: 202267
2014-02-26 14:05:57 +00:00
Evgeniy Stepanov
6697dc6aa3 [asan] Remove extra sonames from libraries in tests.
llvm-svn: 202156
2014-02-25 15:25:37 +00:00
Kostya Serebryany
67968cbf93 [sanitizer] minimal support for recursive locks indeadlock detector
llvm-svn: 202153
2014-02-25 14:02:01 +00:00
Evgeniy Stepanov
e4d8577c69 [asan] Reenable waitid test on Android.
waitid() is present since API level 9 (Android 2.3). That's old enough.

llvm-svn: 202149
2014-02-25 13:24:42 +00:00
Alexey Samsonov
98aa08c0e9 Update sanitizers' bash scripts.
* Fix bash scripts to work on FreeBSD (patch by Viktor Kutuzov)
* Update locations of lit tests in check_lint script.

llvm-svn: 202145
2014-02-25 12:09:25 +00:00
Kostya Serebryany
01be296dbb [sanitizer] support pthread_rwlock_rd* in deadlock detector
llvm-svn: 202132
2014-02-25 10:33:37 +00:00
Kostya Serebryany
fd88edfddb [sanitizer] partially support pthread_rwlock_* (no rd* form yet)
llvm-svn: 202128
2014-02-25 09:33:10 +00:00
Kostya Serebryany
8f240ec03f [tsan] add deadlock detector tests for pthread_spin_lock
llvm-svn: 202123
2014-02-25 08:42:34 +00:00
Kostya Serebryany
11f4f30fa7 [sanitizer] add support for try_lock in deadlock detector
llvm-svn: 202120
2014-02-25 08:24:15 +00:00
Evgeniy Stepanov
4bf7a268e0 [asan] Add a test for interceptors in shared libraries.
llvm-svn: 202037
2014-02-24 14:31:28 +00:00
Kostya Serebryany
d77dfcb384 [tsan] one more test for deadlock detector
llvm-svn: 202026
2014-02-24 11:45:47 +00:00
Evgeniy Stepanov
c0ae3dfc3a [asan] A test was reverted, but not "svn rm"-ed in r202016.
llvm-svn: 202025
2014-02-24 11:43:47 +00:00
Evgeniy Stepanov
4c32d16c76 Revert r202014.
Failing on the bots for an unknown reason.

llvm-svn: 202016
2014-02-24 10:21:44 +00:00