Dmitry Vyukov
|
4723e6b1e5
|
tsan: implement RWLOCK annotations
llvm-svn: 162019
|
2012-08-16 13:29:41 +00:00 |
Dmitry Vyukov
|
f77c6ea7ea
|
tsan: fix COMPAT shadow mapping for new memory allocator
llvm-svn: 162018
|
2012-08-16 13:27:25 +00:00 |
Dmitry Vyukov
|
912f3bf279
|
tsan: refactor cur_thread() -> thr
llvm-svn: 162017
|
2012-08-16 13:26:54 +00:00 |
Dmitry Vyukov
|
1c0b3c6b84
|
tsan: store sync objects in memory block headers + delete them when the block is freed
llvm-svn: 161959
|
2012-08-15 17:27:20 +00:00 |
Dmitry Vyukov
|
9f1509fe44
|
tsan: provide function that imitates write to a region but does not detect races
llvm-svn: 161957
|
2012-08-15 16:52:19 +00:00 |
Dmitry Vyukov
|
954fc8c3e4
|
tsan: switch to new allocator
llvm-svn: 161953
|
2012-08-15 15:35:15 +00:00 |
Dmitry Vyukov
|
2bee426ed6
|
tsan: fix parameter type for pwrite64() interceptor
llvm-svn: 161741
|
2012-08-12 11:08:30 +00:00 |
Alexey Samsonov
|
139a7c0575
|
[Sanitizer] Make ASan/TSan sources depend on headers from interception library
llvm-svn: 161113
|
2012-08-01 14:55:49 +00:00 |
Alexey Samsonov
|
a2e0cf4802
|
[TSan] delete trailing spaces
llvm-svn: 160955
|
2012-07-30 07:46:09 +00:00 |
Dmitry Vyukov
|
904d3f9c06
|
tsan: add ReleaseStore() function that merely copies vector clock rather than combines two clocks
fix clock setup for finalizer goroutine (Go runtime)
llvm-svn: 160918
|
2012-07-28 15:27:41 +00:00 |
Dmitry Vyukov
|
536551d02d
|
tasn: do not remember stack traces for sync objects for Go (they are not reported anyway)
llvm-svn: 160861
|
2012-07-27 13:21:33 +00:00 |
Dmitry Vyukov
|
e91e9ac2a2
|
tsan: remove unnecessary and wrong include
llvm-svn: 160860
|
2012-07-27 13:21:01 +00:00 |
Dmitry Vyukov
|
55b405ef42
|
tsan: allow environment to override OnReport() and OverrideFlags()
llvm-svn: 160728
|
2012-07-25 14:30:51 +00:00 |
Dmitry Vyukov
|
dfc8e52400
|
tsan: suport for Go finalizers
llvm-svn: 160723
|
2012-07-25 13:16:35 +00:00 |
Dmitry Vyukov
|
bcf0b7002b
|
tsan: align report style with Go internal format
llvm-svn: 160672
|
2012-07-24 12:29:43 +00:00 |
Dmitry Vyukov
|
69bee8d8f6
|
tsan: output goroutine creation stack
llvm-svn: 160670
|
2012-07-24 12:03:47 +00:00 |
Alexey Samsonov
|
c6d97c0ad1
|
[TSan] fix confusing error message in CheckFailed
llvm-svn: 160435
|
2012-07-18 14:37:22 +00:00 |
Alexey Samsonov
|
93ca829c2d
|
[TSan] cleanup header comments
llvm-svn: 160359
|
2012-07-17 09:39:59 +00:00 |
Dmitry Vyukov
|
5bfac97ff9
|
tsan: use dynamic shadow stack for Go
llvm-svn: 160288
|
2012-07-16 16:44:47 +00:00 |
Dmitry Vyukov
|
dc36d69b6a
|
tsan: increase number of dead threads for Go
llvm-svn: 160283
|
2012-07-16 16:03:16 +00:00 |
Dmitry Vyukov
|
5e5e36712b
|
tsan: fix build
llvm-svn: 160267
|
2012-07-16 13:25:47 +00:00 |
Dmitry Vyukov
|
c40c00767c
|
tsan: port Go runtime to Darwin
llvm-svn: 160266
|
2012-07-16 13:02:40 +00:00 |
Kostya Serebryany
|
38f318bf20
|
[tsan] use internal_strnlen in strncpy interceptor (the bug found while booting chromium)
llvm-svn: 160171
|
2012-07-13 13:04:43 +00:00 |
Alexey Samsonov
|
2c94cd6e3d
|
[Sanitizer] move flag parsing routines (and unit tests) from tsan runtime to common runtime.
llvm-svn: 159928
|
2012-07-09 13:21:39 +00:00 |
Dmitry Vyukov
|
239ae7186b
|
tsan: Go language support fixes
llvm-svn: 159856
|
2012-07-06 20:23:59 +00:00 |
Dmitry Vyukov
|
e0d31e9170
|
tsan: Go lang: symbolize stack traces
llvm-svn: 159827
|
2012-07-06 14:54:25 +00:00 |
Dmitry Vyukov
|
03d32ecd4f
|
tsan: Go language support
llvm-svn: 159754
|
2012-07-05 16:18:28 +00:00 |
Alexey Samsonov
|
78a3bbc82c
|
[TSan] add a new option 'use_internal_symbolizer' that allows to choose between addr2line-based and llvm-based symbolizer w/o having to rebuild the runtime. This is hopefully a temporary solution that simplifies testing process. In the end, we should leave a single symbolizer.
llvm-svn: 159730
|
2012-07-05 07:18:29 +00:00 |
Dmitry Vyukov
|
7a9fa7dbc5
|
tsan/asan: unify ScopedLock
llvm-svn: 159438
|
2012-06-29 17:10:08 +00:00 |
Dmitry Vyukov
|
6fa46f7003
|
tsan/asan: unify atomics (move atomics from tsan to sanitizer_common)
llvm-svn: 159437
|
2012-06-29 16:58:33 +00:00 |
Dmitry Vyukov
|
ef5a5a5650
|
tsan: replace struct copies where clang inserts memcpy() calls with explicit internal_memcpy() calls
llvm-svn: 159431
|
2012-06-29 15:26:55 +00:00 |
Dmitry Vyukov
|
5bb47a6e0e
|
tsan: remove own memset/memcpy/memcmp (too messy)
llvm-svn: 159430
|
2012-06-29 15:19:14 +00:00 |
Dmitry Vyukov
|
a932bdfc1e
|
tsan: clear shadow for ucontext, because it's visible to user
llvm-svn: 159365
|
2012-06-28 18:20:50 +00:00 |
Dmitry Vyukov
|
fa985a02ef
|
tsan: fix crashes if signal is caught during thread bootstrap or shutdown
llvm-svn: 159361
|
2012-06-28 18:07:46 +00:00 |
Dmitry Vyukov
|
e4df904770
|
tsan: add missing file (forgot to svn add in r159294)
llvm-svn: 159341
|
2012-06-28 09:04:45 +00:00 |
Dmitry Vyukov
|
090f345522
|
tsan: prevent insertion of unwanted memset/memcpy/memcmp into runtime
llvm-svn: 159294
|
2012-06-27 21:00:23 +00:00 |
Dmitry Vyukov
|
b94a8f0c39
|
tsan: remember and pass original ucontext to signal handlers (instead of a fabricated one)
llvm-svn: 159278
|
2012-06-27 17:35:35 +00:00 |
Dmitry Vyukov
|
97c26bdaea
|
tsan: refactor signal handling code (move some definitions out of common header)
llvm-svn: 159266
|
2012-06-27 16:05:06 +00:00 |
Dmitry Vyukov
|
d326a6cf93
|
tsan: check that signal handlers do not spoil errno.
llvm-svn: 159264
|
2012-06-27 13:54:46 +00:00 |
Dmitry Vyukov
|
f8b7a8dc08
|
tsan: close all file descriptors after fork()
llvm-svn: 159263
|
2012-06-27 12:48:46 +00:00 |
Dmitry Vyukov
|
ec64f3e738
|
tsan: remove internal allocator, switch to sanitizer_common one.
llvm-svn: 159141
|
2012-06-25 15:03:15 +00:00 |
Dmitry Vyukov
|
de1fd1c83b
|
tsan: do not call malloc/free in memory access handling routine.
This improves signal-/fork-safety of instrumented programs.
llvm-svn: 158988
|
2012-06-22 11:08:55 +00:00 |
Alexey Samsonov
|
e1cb524226
|
[Sanitizer] Renaming: SNPrintf -> internal_snprintf (and move it to sanitizer libc)
llvm-svn: 158710
|
2012-06-19 09:21:57 +00:00 |
Alexey Samsonov
|
b1c3991915
|
[TSan] Add a comment that tsan_flags.h may be included in the user code, and therefore shouldn't include other headers from TSan or common sanitizer runtime. User may need tsan_flags.h to provide its implementation of __tsan::OverrideFlags
llvm-svn: 158708
|
2012-06-19 08:57:53 +00:00 |
Alexey Samsonov
|
cf7d233ac0
|
[TSan] kill some linux-specific code in favor of code in common runtime: reuse wrappers for mmap routines, ProcessMaps iterator, thread stack calculation
llvm-svn: 158657
|
2012-06-18 09:42:39 +00:00 |
Alexey Samsonov
|
58a3c58ec9
|
[Sanitizer] move different wrappers from TSan to common sanitizer runtime
llvm-svn: 158655
|
2012-06-18 08:44:30 +00:00 |
Alexey Samsonov
|
156958dd0c
|
[Sanitizer] move all the rest re-implementations of libc functions from ASan runtime to common sanitizer runtime
llvm-svn: 158519
|
2012-06-15 13:09:52 +00:00 |
Alexey Samsonov
|
3efd6fc26c
|
[Sanitizer] Use DEFINE_REAL macro in TSan runtime to call libc implementations of functions. Move strchr to sanitizer_libc.
llvm-svn: 158517
|
2012-06-15 12:24:07 +00:00 |
Dmitry Vyukov
|
ea03fc2d78
|
tsan: fix COMPAT mapping to not produce false reports
llvm-svn: 158473
|
2012-06-14 21:40:35 +00:00 |
Alexey Samsonov
|
96ef49a71e
|
[Sanitizer] Move internal_memcmp to common sanitizer libc
llvm-svn: 158450
|
2012-06-14 14:04:54 +00:00 |