| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 193903
|
|
|
|
| |
llvm-svn: 193880
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
TSan and MSan need to know if interceptor was called by the
user code or by the symbolizer and use pre- and post-symbolization hooks
for that. Make Symbolizer class responsible for calling these hooks instead.
This would ensure the hooks are only called when necessary (during
in-process symbolization, they are not needed for out-of-process) and
save specific sanitizers from tracing all places in the code where symbolization
will be performed.
Reviewers: eugenis, dvyukov
Reviewed By: eugenis
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2067
llvm-svn: 193807
|
|
|
|
| |
llvm-svn: 193730
|
|
|
|
| |
llvm-svn: 193655
|
|
|
|
| |
llvm-svn: 193645
|
|
|
|
| |
llvm-svn: 193639
|
|
|
|
| |
llvm-svn: 193602
|
|
|
|
|
|
| |
steal users signals
llvm-svn: 193519
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves away from creating the symbolizer object and initializing the
external symbolizer as separate steps. Those steps now always take place
together.
Sanitizers with a legacy requirement to specify their own symbolizer path
should use InitSymbolizer to initialize the symbolizer with the desired
path, and GetSymbolizer to access the symbolizer. Sanitizers with no
such requirement (e.g. UBSan) can use GetOrInitSymbolizer with no need for
initialization.
The symbolizer interface has been made thread-safe (as far as I can
tell) by protecting its member functions with mutexes.
Finally, the symbolizer interface no longer relies on weak externals, the
introduction of which was probably a mistake on my part.
Differential Revision: http://llvm-reviews.chandlerc.com/D1985
llvm-svn: 193448
|
|
|
|
| |
llvm-svn: 193415
|
|
|
|
|
|
| |
The function is deprecated.
llvm-svn: 193409
|
|
|
|
| |
llvm-svn: 193405
|
|
|
|
|
|
|
|
| |
some tests test libc/filesystem error handling paths (e.g. close(INT_MAX)),
currently such tests fail
with this change they work as expected
llvm-svn: 193400
|
|
|
|
| |
llvm-svn: 193396
|
|
|
|
| |
llvm-svn: 193348
|
|
|
|
| |
llvm-svn: 193241
|
|
|
|
| |
llvm-svn: 193158
|
|
|
|
| |
llvm-svn: 192965
|
|
|
|
| |
llvm-svn: 192959
|
|
|
|
|
|
| |
interceptors
llvm-svn: 192876
|
|
|
|
| |
llvm-svn: 192873
|
|
|
|
|
|
|
|
| |
This allows to increase max shadow stack size to 64K,
and reliably catch shadow stack overflows instead of silently
corrupting memory.
llvm-svn: 192797
|
|
|
|
| |
llvm-svn: 192782
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: eugenis, dvyukov
Reviewed By: dvyukov
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1937
llvm-svn: 192774
|
|
|
|
|
|
|
| |
The function allows to statically setup default values for flags.
The interafece matches what asan/msan provide.
llvm-svn: 192715
|
|
|
|
|
|
| |
now it's available from common_flags()
llvm-svn: 192705
|
|
|
|
| |
llvm-svn: 192701
|
|
|
|
| |
llvm-svn: 192696
|
|
|
|
| |
llvm-svn: 192692
|
|
|
|
| |
llvm-svn: 192688
|
|
|
|
|
|
| |
weak functions (Go)
llvm-svn: 192569
|
|
|
|
| |
llvm-svn: 192452
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
sanitizer_linux.h.
Add a test.
llvm-svn: 192442
|
|
|
|
|
|
| |
Replace duplicate code snippet with function.
llvm-svn: 192357
|
|
|
|
|
|
|
|
| |
The annotations are AnnotateIgnoreSyncBegin/End,
may be useful to ignore some infrastructure synchronization
that introduces lots of false negatives.
llvm-svn: 192355
|
|
|
|
|
|
| |
sanitizers
llvm-svn: 191954
|
|
|
|
| |
llvm-svn: 191952
|
|
|
|
|
|
| |
It must set thr->in_rtl = 0 before executing user callback.
llvm-svn: 191946
|
|
|
|
|
|
| |
across sanitizers
llvm-svn: 191943
|
|
|
|
|
|
|
| |
The flag allows to bound maximum process memory consumption (best effort).
If RSS reaches memory_limit_mb, tsan flushes all shadow memory.
llvm-svn: 191913
|
|
|
|
| |
llvm-svn: 191903
|
|
|
|
| |
llvm-svn: 191898
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LibIgnore allows to ignore all interceptors called from a particular set
of dynamic libraries. LibIgnore remembers all "called_from_lib" suppressions
from the provided SuppressionContext; finds code ranges for the libraries;
and checks whether the provided PC value belongs to the code ranges.
Also make malloc and friends interceptors use SCOPED_INTERCEPTOR_RAW instead of
SCOPED_TSAN_INTERCEPTOR, because if they are called from an ignored lib,
then must call our internal allocator instead of libc malloc.
llvm-svn: 191897
|
|
|
|
| |
llvm-svn: 191516
|
|
|
|
|
|
| |
Fixes https://code.google.com/p/thread-sanitizer/issues/detail?id=29
llvm-svn: 191482
|
|
|
|
|
|
|
|
|
|
|
|
| |
sigwait
sigwaitinfo
sigtimedwait
sigemptyset
sigfillset
sigpending
sigprocmask
llvm-svn: 191374
|
|
|
|
| |
llvm-svn: 191305
|
|
|
|
| |
llvm-svn: 191157
|