| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 201069
|
|
|
|
| |
llvm-svn: 201015
|
|
|
|
|
|
|
| |
as required per core issue 1552 and warned about with
-Wimplicit-exception-spec-mismatch.
llvm-svn: 201014
|
|
|
|
|
|
|
| |
when global and thread state are initialized,
this allows to do more things in the callback.
llvm-svn: 200966
|
|
|
|
|
|
|
|
| |
on file stream locks.
This should fix https://code.google.com/p/thread-sanitizer/issues/detail?id=47.
llvm-svn: 200922
|
|
|
|
| |
llvm-svn: 200838
|
|
|
|
| |
llvm-svn: 200832
|
|
|
|
| |
llvm-svn: 200779
|
|
|
|
| |
llvm-svn: 200755
|
|
|
|
|
|
| |
so that it's possible to override them from a dynamic library.
llvm-svn: 200747
|
|
|
|
|
|
|
|
|
|
|
|
| |
We do not detect errno spoiling for SIGTERM,
because some SIGTERM handlers do spoil errno but reraise SIGTERM,
tsan reports false positive in such case.
It's difficult to properly detect this situation (reraise),
because in async signal processing case (when handler is called directly
from rtl_generic_sighandler) we have not yet received the reraised
signal; and it looks too fragile to intercept all ways to reraise a signal.
llvm-svn: 200742
|
|
|
|
|
|
|
|
|
|
|
| |
__sanitizer_kernel_* ones.
Also rename internal_sigaction() into internal_sigaction_norestorer(), as this function doesn't fully
implement the sigaction() functionality on Linux.
This change is a part of refactoring intended to have common signal handling behavior in all tools.
llvm-svn: 200535
|
|
|
|
|
|
| |
They seems to be unused, but cause maintenance pain.
llvm-svn: 200308
|
|
|
|
|
|
|
| |
allow SIGABRT to spoil errno, because some real programs
reset SIGABRT handler in the handler, re-raise SIGABRT and return from the handler
llvm-svn: 200304
|
|
|
|
|
|
|
| |
We left ignore_interceptors>0 when calling signal handlers
from blocking interceptors, this leads to missing synchronization in such signal handler.
llvm-svn: 200003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently correct programs can deadlock after fork, because atomic operations and async-signal-safe calls are not async-signal-safe under tsan.
With this change:
- if a single-threaded program forks, the child continues running with verification enabled (the tsan background thread is recreated as well)
- if a multi-threaded program forks, then the child runs with verification disabled (memory accesses, atomic operations and interceptors are disabled); it's expected that it will exec soon anyway
- if the child tries to create more threads after multi-threaded fork, the program aborts with error message
- die_after_fork flag is added that allows to continue running, but all bets are off
http://llvm-reviews.chandlerc.com/D2614
llvm-svn: 199993
|
|
|
|
|
|
|
|
|
|
| |
Intercept and sanitize arguments passed to printf functions in ASan and TSan
(don't do this in MSan for now). The checks are controlled by runtime flag
(off by default for now).
Patch http://llvm-reviews.chandlerc.com/D2480 by Yuri Gribov!
llvm-svn: 199729
|
|
|
|
| |
llvm-svn: 199216
|
|
|
|
| |
llvm-svn: 199200
|
|
|
|
|
|
|
|
| |
Symbolizer::IsExternalAvailable with Symbolizer::CanReturnFileLineInfo.
Remove now redundant checks in symbolizer initialization in TSan and MSan.
llvm-svn: 198000
|
|
|
|
|
|
| |
pthread uses internal cache, we do not see synchronization in it
llvm-svn: 197982
|
|
|
|
|
|
|
|
| |
This is intended to address the following problem.
Episodically we see CHECK-failures when recursive interceptors call back into user code. Effectively we are not "in_rtl" at this point, but it's very complicated and fragile to properly maintain in_rtl property. Instead get rid of it. It was used mostly for sanity CHECKs, which basically never uncover real problems.
Instead introduce ignore_interceptors flag, which is used in very few narrow places to disable recursive interceptors (e.g. during runtime initialization).
llvm-svn: 197979
|
|
|
|
| |
llvm-svn: 197569
|
|
|
|
| |
llvm-svn: 197015
|
|
|
|
| |
llvm-svn: 197014
|
|
|
|
| |
llvm-svn: 196495
|
|
|
|
| |
llvm-svn: 196492
|
|
|
|
|
|
| |
in cmake build (PR18144). This is a quick fix. Will need to fix the configure/make build properly
llvm-svn: 196490
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Support toolchains that don't understand CFI directives.
Reviewers: dvyukov
Reviewed By: dvyukov
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2336
llvm-svn: 196480
|
|
|
|
|
|
| |
Patch by Alexander Taran.
llvm-svn: 196098
|
|
|
|
| |
llvm-svn: 195918
|
|
|
|
| |
llvm-svn: 195917
|
|
|
|
|
|
|
| |
tsan was missing new fd's arrived from recvmsg(),
and thus was reporting false positives due to missed synchronization on the fd's
llvm-svn: 195914
|
|
|
|
| |
llvm-svn: 195858
|
|
|
|
| |
llvm-svn: 195839
|
|
|
|
|
|
|
| |
print thread creation stack
and stacks where ignores were enabled.
llvm-svn: 195836
|
|
|
|
|
|
|
|
| |
- running_on_valgrind was not parsed in some contexts
- refactor code a bit
- add comprehensive tests for flags parsing
llvm-svn: 195831
|
|
|
|
|
|
| |
http://llvm-reviews.chandlerc.com/D2269
llvm-svn: 195830
|
|
|
|
|
|
| |
people do close(sysconf(_SC_OPEN_MAX)) after fork, where _SC_OPEN_MAX=1200000.
llvm-svn: 195645
|
|
|
|
|
|
|
|
| |
It's incorrect to take address of setjmp,
because it may not (ligally) present in libc.
Fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59188
llvm-svn: 195345
|
|
|
|
|
|
| |
actually use the passed size
llvm-svn: 195133
|
|
|
|
| |
llvm-svn: 194823
|
|
|
|
|
|
| |
this allows gdb to unwind through our hacky call
llvm-svn: 194803
|
|
|
|
|
|
|
|
| |
I still don't know what is causing our bootstrapped LTO buildbots to fail,
but llvm r194701 seems to be OK and I can't imagine that these changes could
cause the problem.
llvm-svn: 194790
|
|
|
|
|
|
|
|
|
| |
Apple's bootstrapped LTO builds have been failing, and these changes (along
with llvm 194701) are the only things on the blamelist. I will either reapply
these changes or help debug the problem, depending on whether this fixes the
buildbots.
llvm-svn: 194779
|
|
|
|
| |
llvm-svn: 194702
|
|
|
|
| |
llvm-svn: 194479
|
|
|
|
|
|
|
|
| |
INTERCEPT_FUNCTION_VER.
This is a workaround for clang-format bug (PR17874).
llvm-svn: 194468
|
|
|
|
|
|
| |
This includes a clang-format pass over common interceptors.
llvm-svn: 194372
|
|
|
|
| |
llvm-svn: 194196
|