Dmitry Vyukov
628df38e95
tsan: say that the memory access is atomic in reports
...
llvm-svn: 174168
2013-02-01 11:10:53 +00:00
Dmitry Vyukov
aa6af4ddd1
tsan: remember 2 stack frames for atomics (caller and atomic itself)
...
llvm-svn: 174167
2013-02-01 11:01:17 +00:00
Dmitry Vyukov
52f0e4e1a0
tsan: add flag to not report races between atomic and plain memory accesses
...
llvm-svn: 174165
2013-02-01 10:06:56 +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
Kostya Serebryany
bda64b4d40
[sanitizer] make the error messages from sanitizer_common contain the actual tool name
...
llvm-svn: 174059
2013-01-31 14:11:21 +00:00
Dmitry Vyukov
6f4a6ab5d6
tsan: switch to explicit thread contexts in Go (instead of monotonic goroutine ids)
...
llvm-svn: 174047
2013-01-31 07:48:43 +00:00
Dmitry Vyukov
6095285d0b
tsan: do not check for intersecting memory accesses in Go (all accesses are 1 byte)
...
llvm-svn: 174046
2013-01-31 07:47:58 +00:00
Dmitry Vyukov
087efd23d6
tsan: fix CPP_WEAK definition (it must be the other way around)
...
llvm-svn: 173932
2013-01-30 14:38:44 +00:00
Alexey Samsonov
32832e6176
[Sanitizer] include sanitizer_common headers when building interception library
...
llvm-svn: 173930
2013-01-30 14:27:41 +00:00
Evgeniy Stepanov
358698279d
[sanitizer] Further split private and public sanitizer headers.
...
And make msan_interface.h C-compatible.
llvm-svn: 173928
2013-01-30 13:12:08 +00:00
Alexey Samsonov
0d92533b29
Use LLVM_BUILD_TYPE instead of CMAKE_BUILD_TYPE in compiler-rt unit tests to match the behavior of llvm unittests
...
llvm-svn: 173926
2013-01-30 12:18:49 +00:00
Dmitry Vyukov
d6b9348bf3
tsan: introduce a helped macro CPP_WEAK (Go linker does not support weak symbols)
...
llvm-svn: 173917
2013-01-30 09:46:53 +00:00
Dmitry Vyukov
5fbfafcd8c
tsan: add OnFinalize() callback for frontends
...
llvm-svn: 173915
2013-01-30 09:24:00 +00:00
Alexey Samsonov
a1eb11f915
[TSan] relax output tests a bit to make them pass in gcc build
...
llvm-svn: 173913
2013-01-30 08:41:57 +00:00
Alexey Samsonov
49a32c1d08
[Sanitizer] update style checker script and fix namespace style warnings
...
llvm-svn: 173910
2013-01-30 07:45:58 +00:00
Will Dietz
25abfe49e1
[tsan] Fix checks for siginfo_t in tests
...
llvm-svn: 173815
2013-01-29 18:29:34 +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
4399d92252
tsan: support for inprocess symbolizer
...
llvm-svn: 173797
2013-01-29 13:05:30 +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
7943b69002
tsan: add IsSymbolizerAvailable() function for querying for presence of internal/external symbolizer
...
llvm-svn: 173783
2013-01-29 09:35:14 +00:00
Dmitry Vyukov
b130fc3c0d
tsan: add interceptor stubs for stat family of functions
...
llvm-svn: 173782
2013-01-29 09:23:09 +00:00
Kostya Serebryany
fa79cd65e2
[sanitizer] fix calloc overflow in asan/tsan/msan
...
llvm-svn: 173441
2013-01-25 11:46:22 +00:00
Dmitry Vyukov
4e3b9802bd
tsan: return the old fake numbers from malloc stats (some code already depends on them)
...
llvm-svn: 173348
2013-01-24 14:07:19 +00:00
Dmitry Vyukov
f4f76b1c10
tsan: suppress reports using both stacks
...
llvm-svn: 173346
2013-01-24 13:50:32 +00:00
Dmitry Vyukov
83566dadaf
tsan: allow a front-end to provide default suppressions
...
llvm-svn: 173345
2013-01-24 13:50:10 +00:00
Dmitry Vyukov
6e406cda4b
tsan: implement malloc stats querying
...
llvm-svn: 173332
2013-01-24 09:08:03 +00:00
Dmitry Vyukov
e9a44974d4
tsan: also test asan during presubmit checks, because sanitizer_common changes can affect it
...
llvm-svn: 173327
2013-01-24 07:43:55 +00:00
Dmitry Vyukov
228921d71e
tsan: add stubs for malloc introspection (similar to what we have in asan)
...
llvm-svn: 173255
2013-01-23 12:08:03 +00:00
Kostya Serebryany
9b46312c87
[tsan] fix thread_name.cc test to work with older versions of libc
...
llvm-svn: 173023
2013-01-21 11:20:49 +00:00
Alexey Samsonov
d0522c73b5
CMake: use add_compiler_rt_static_runtime to build TSan and MSan runtimes. No functionality change.
...
llvm-svn: 172978
2013-01-20 14:14:13 +00:00
Evgeniy Stepanov
01671c33ff
[sanitizer] lint
...
llvm-svn: 172817
2013-01-18 13:12:56 +00:00
Evgeniy Stepanov
a6c4a387ee
[sanitizer] Rename 2 files *.h->*.inc as appropriate.
...
Also add a missing include.
llvm-svn: 172814
2013-01-18 13:01:18 +00:00
Alexey Samsonov
193b45f4fe
CMake variables renaming: X86_64->x86_64 I386->i386
...
llvm-svn: 172812
2013-01-18 12:45:44 +00:00
Evgeniy Stepanov
222076e972
[sanitizer] Common *scanf interceptors.
...
llvm-svn: 172805
2013-01-18 11:17:23 +00:00
Kostya Serebryany
69fe0ba415
[sanitizer] reapply r172719, r172721-172723, r172725, and also fix the warning on Mac.
...
llvm-svn: 172791
2013-01-18 06:43:13 +00:00
Jakob Stoklund Olesen
7956e0094d
Revert r172719, r172721-172723, and r172725.
...
The r172719 patch broke the build on Mac, the others depended on it.
compiler-rt/lib/asan/asan_interceptors.cc:78:13: error: unused function
'SetThreadName' [-Werror,-Wunused-function]
static void SetThreadName(const char *name) {
Orignal headlines:
[asan] attempting to fix the Mac build
[asan] restructure read/pread/pread64 tests
[sanitizer] move write/pwrite/pwrite64 interceptors to common
[msan] start using common interceptors in msan
[tsan] move prctl interceptor from asan to common_interceptors thus enabling it for tsan too
llvm-svn: 172763
2013-01-17 22:51:56 +00:00
Kostya Serebryany
5cdd91fc43
[sanitizer] move write/pwrite/pwrite64 interceptors to common
...
llvm-svn: 172722
2013-01-17 14:48:03 +00:00
Kostya Serebryany
f7f5566055
[tsan] move prctl interceptor from asan to common_interceptors thus enabling it for tsan too
...
llvm-svn: 172719
2013-01-17 13:38:16 +00:00
Kostya Serebryany
125e26d49b
[tsan] add write_range/read_range hooks to common interceptors called from tsan (to find races on read/pread/etc)
...
llvm-svn: 172714
2013-01-17 13:18:40 +00:00
Kostya Serebryany
93ebdb5d64
[sanitizer] a bit more unification for interceptors (merge read/pread/pread64 in asan and tsan)
...
llvm-svn: 172713
2013-01-17 13:09:00 +00:00
Dmitry Vyukov
c1a1517a37
tsan: describe stack and TLS addresses
...
llvm-svn: 172393
2013-01-14 10:00:03 +00:00
Dmitry Vyukov
f22982bf0a
asan/tsan: move blocking mutex from asan to sanitizer_common
...
llvm-svn: 172380
2013-01-14 07:51:39 +00:00
Dmitry Vyukov
89698ecf8a
tsan: fix compiler warning
...
llvm-svn: 172191
2013-01-11 11:02:40 +00:00
Dmitry Vyukov
5cb6c62641
tsan: symbolize global variables
...
llvm-svn: 172181
2013-01-11 07:23:51 +00:00
Dmitry Vyukov
1bc29bd7bf
tsan: add check for invalid fd
...
llvm-svn: 172060
2013-01-10 12:28:58 +00:00
Dmitry Vyukov
a626d03266
tsan: detect races on fd passed to epoll_ctl
...
llvm-svn: 171981
2013-01-09 17:31:27 +00:00
Dmitry Vyukov
a681c01b69
tsan: fix crash when user defines own fopen/fileno
...
llvm-svn: 171967
2013-01-09 11:54:52 +00:00
Dmitry Vyukov
b4ede780b0
tsan: fix crash when user defines own fopen/fileno
...
llvm-svn: 171958
2013-01-09 08:22:06 +00:00
Alexey Samsonov
8474843e3b
[TSan] Blacklist test: Rename blacklisted function. Make this test work for custom TSan testing script.
...
llvm-svn: 171186
2012-12-28 10:06:26 +00:00