Dmitry Vyukov
|
79915de6af
|
tsan: move trace header into 0x600000000000 range
eliminat thread "dead info" altogether
llvm-svn: 177512
|
2013-03-20 10:31:53 +00:00 |
Dmitry Vyukov
|
4ecfa696e0
|
tsan: flush dead thread info earlier (when another thread is finished rather than new thread is created)
llvm-svn: 177394
|
2013-03-19 12:25:48 +00:00 |
Dmitry Vyukov
|
4ddd37ba5b
|
tsan: smaller memory block headers (32b->16b)
llvm-svn: 177312
|
2013-03-18 19:47:36 +00:00 |
Dmitry Vyukov
|
2e7f29f042
|
tsan: mark shadow for thread stack as "don't need" when thread exits
llvm-svn: 177288
|
2013-03-18 15:49:07 +00:00 |
Dmitry Vyukov
|
20bf8c7778
|
tsan: move implementation out of h file
llvm-svn: 177269
|
2013-03-18 10:32:21 +00:00 |
Dmitry Vyukov
|
49e462fab2
|
tsan: fix clang -Wall build
Clang does not like classes with virtual functions but w/o virtual dtor.
Go does not like libstdc++ (operator delete).
llvm-svn: 177267
|
2013-03-18 10:10:15 +00:00 |
Dmitry Vyukov
|
7cd2025c4d
|
tsan: use StackDepot for thread creation stacks
llvm-svn: 177261
|
2013-03-18 09:02:27 +00:00 |
Alexey Samsonov
|
9aecdfe34d
|
[TSan] Switch TSan runtime to use ThreadRegistry class from sanitizer_common
llvm-svn: 177154
|
2013-03-15 13:48:44 +00:00 |
Dmitry Vyukov
|
3c2489e2c3
|
tsan: do not imitate memory write on malloc() (Go)
better memory range access functions (put only 1 event to trace) (Go)
llvm-svn: 175056
|
2013-02-13 13:05:36 +00:00 |
Alexey Samsonov
|
85cc9b655d
|
[TSan] skip multiple internal frames, if necessary
llvm-svn: 174516
|
2013-02-06 16:28:05 +00:00 |
Kostya Serebryany
|
4fb340d972
|
[tsan] print error summary line
llvm-svn: 174505
|
2013-02-06 14:24:00 +00:00 |
Dmitry Vyukov
|
87c6bb9716
|
tsan: even if races between atomic and plain memory accesses are turned off (report_atomic_races=0),
still report races between atomic accesses and free().
llvm-svn: 174175
|
2013-02-01 14:41:58 +00:00 |
Dmitry Vyukov
|
71242b064e
|
tsan: flip is_write bit in shadow to is_read
this makes calculation of interesting predicates faster
llvm-svn: 174164
|
2013-02-01 10:02:55 +00:00 |
Dmitry Vyukov
|
ba4291480d
|
tsan: detect races between plain and atomic memory accesses
llvm-svn: 174163
|
2013-02-01 09:42:06 +00:00 |
Dmitry Vyukov
|
019ef67a97
|
tsan: dump stack on internal assert failure
llvm-svn: 173799
|
2013-01-29 14:20:12 +00:00 |
Dmitry Vyukov
|
b46930befa
|
tsan: remember when we are inside of symbolizer code (required for inprocess symbolizer)
llvm-svn: 173796
|
2013-01-29 13:03:07 +00:00 |
Dmitry Vyukov
|
f4f76b1c10
|
tsan: suppress reports using both stacks
llvm-svn: 173346
|
2013-01-24 13:50:32 +00:00 |
Kostya Serebryany
|
6f604b5007
|
[asan/tsan] when unmapping a chunk of user memory, apply madvise(MADV_DONTNEED) to the corresponding chunk of shadow memory. Also update sanitizer_allocator64_testlib.cc
llvm-svn: 171144
|
2012-12-27 07:37:24 +00:00 |
Dmitry Vyukov
|
2547ac65eb
|
tsan: java interface implementation skeleton
llvm-svn: 170707
|
2012-12-20 17:29:34 +00:00 |
Dmitry Vyukov
|
09b0dbfaf9
|
tsan: say what thread had created a thread in reports
llvm-svn: 170346
|
2012-12-17 16:28:15 +00:00 |
Dmitry Vyukov
|
3e7ede230f
|
tsan: support MapThreadTrace() on all platforms
llvm-svn: 170113
|
2012-12-13 08:14:02 +00:00 |
Kostya Serebryany
|
e29883c10a
|
[sanitizer] add OnMap/OnUmap callbacks to the allocator interface
llvm-svn: 169985
|
2012-12-12 14:32:18 +00:00 |
Dmitry Vyukov
|
fd5ebcd1b0
|
tsan: add mutexsets to reports
With this change reports say what mutexes the threads hold around the racy memory accesses.
llvm-svn: 169493
|
2012-12-06 12:16:15 +00:00 |
Kostya Serebryany
|
571232b8cf
|
[tsan] get rid of *allocator64* files, moving everything to *allocator* files. This will help with the 32-bit allocator implementation and testing
llvm-svn: 169368
|
2012-12-05 10:09:15 +00:00 |
Dmitry Vyukov
|
1b46993598
|
tsan: output thread names
llvm-svn: 169279
|
2012-12-04 15:46:05 +00:00 |
Kostya Serebryany
|
242b6305f0
|
[tsan] add a compile-time error for 64-bit-only support
llvm-svn: 169275
|
2012-12-04 15:13:30 +00:00 |
Kostya Serebryany
|
f299288f55
|
[tsan] minor interface refactoring
llvm-svn: 169267
|
2012-12-04 14:15:17 +00:00 |
Dmitry Vyukov
|
55b47cad33
|
tsan: fix trace handling when trace is reused between threads
llvm-svn: 169259
|
2012-12-04 12:19:53 +00:00 |
Dmitry Vyukov
|
e993dac233
|
tsan: fix int overflow and several instances where tid is used with ignore
llvm-svn: 169029
|
2012-11-30 20:02:11 +00:00 |
Dmitry Vyukov
|
eb3d36e649
|
tsan: address several review comments
llvm-svn: 168789
|
2012-11-28 13:01:32 +00:00 |
Dmitry Vyukov
|
e1a7f338a3
|
tsan: dynamic history size
introduces history_size parameter that can be used to control trace size at startup
llvm-svn: 168786
|
2012-11-28 12:19:50 +00:00 |
Dmitry Vyukov
|
00e4604d6b
|
tsan: change fast state layout in preparation to dynamic traces
llvm-svn: 168784
|
2012-11-28 10:49:27 +00:00 |
Dmitry Vyukov
|
2429b02770
|
tsan: move traces from tls into dedicated storage at fixed address
helps to reduce tls size (it's weird to have multi-MB tls)
will help with dynamically adjustable trace size
llvm-svn: 168783
|
2012-11-28 10:35:31 +00:00 |
Dmitry Vyukov
|
20678e2b68
|
tsan: explicitly mark symbols referenced from assembly as hidden
this allows to build tsan runtime as dynamic library
llvm-svn: 168589
|
2012-11-26 14:20:26 +00:00 |
Dmitry Vyukov
|
933c9889aa
|
tsan: remove unused parameter
llvm-svn: 168060
|
2012-11-15 18:49:08 +00:00 |
Dmitry Vyukov
|
262465c126
|
tsan: eevn better handling of signals
add interceptor for poll()
in addition process signals in every atomic op
in addition process signals in blocking libc functions
llvm-svn: 168050
|
2012-11-15 17:40:49 +00:00 |
Dmitry Vyukov
|
6d67d3b0ee
|
tsan: remove unused const
llvm-svn: 167835
|
2012-11-13 14:13:21 +00:00 |
Dmitry Vyukov
|
67dc5702f8
|
tsan: do not sleep at exit if there are no other threads
llvm-svn: 167533
|
2012-11-07 16:41:57 +00:00 |
Dmitry Vyukov
|
e11f2920c9
|
tsan: more precise handling of finalizers
llvm-svn: 167530
|
2012-11-07 15:08:20 +00:00 |
Dmitry Vyukov
|
c015712992
|
tsan: lazily allocate shadow for Go
llvm-svn: 167464
|
2012-11-06 16:00:16 +00:00 |
Alexey Samsonov
|
ad9d65feb8
|
[TSan] finally remove TsanPrintf in favor of Printf from sanitizer_common
llvm-svn: 167294
|
2012-11-02 12:17:51 +00:00 |
Dmitry Vyukov
|
90c9cbfed4
|
tsan: cache pc's that cause suppressions (this way we do not need to symbolize the reports)
llvm-svn: 165317
|
2012-10-05 15:51:32 +00:00 |
Dmitry Vyukov
|
56faa551b9
|
tsan: fix mac build
llvm-svn: 165004
|
2012-10-02 12:58:14 +00:00 |
Dmitry Vyukov
|
27d5b37c38
|
tsan: output tid's in reports
llvm-svn: 164998
|
2012-10-02 11:52:05 +00:00 |
Alexey Samsonov
|
b6879ce94c
|
[TSan] move replacement for new/delete back into tsan_interceptors
llvm-svn: 164764
|
2012-09-27 09:50:19 +00:00 |
Alexey Samsonov
|
313014694f
|
[TSan] Provide replacements for operators new/delete instead of declaring extern C functions with weirdly mangled names (same strategy is used in ASan).
llvm-svn: 164487
|
2012-09-24 13:19:47 +00:00 |
Alexey Samsonov
|
046248c509
|
[TSan] fix a bunch of warnings reported by pedantic gcc
llvm-svn: 163788
|
2012-09-13 11:54:41 +00:00 |
Alexey Samsonov
|
5c6b93bc33
|
[Sanitizer] Get rid of dependency between sanitizer_common and asan/tsan runtimes: implement tool-specific Die and CheckFailed functions via callbacks
llvm-svn: 163603
|
2012-09-11 09:44:48 +00:00 |
Dmitry Vyukov
|
b7f1852140
|
tsan: insert cfi directives into assembly (not fully working for now, though)
llvm-svn: 163090
|
2012-09-02 11:24:07 +00:00 |
Dmitry Vyukov
|
46ca1fb404
|
tsan: better diagnostics for mutex misuse
llvm-svn: 163060
|
2012-09-01 12:13:18 +00:00 |