tsan: run user OnInitialize callback later
when global and thread state are initialized,
this allows to do more things in the callback.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@200966 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: improve the test
remove TSAN_OPTIONS from the test, so that it runs in the presubmit script
add a CHECK, so that it can run with FileCheck as well



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@200972 91177308-0d34-0410-b5e6-96231b3b80d8
Update these declarations of operator delete (and delete[]) to have noexcept,
as required per core issue 1552 and warned about with
-Wimplicit-exception-spec-mismatch.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201014 91177308-0d34-0410-b5e6-96231b3b80d8
Stick to C++98 for this.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201015 91177308-0d34-0410-b5e6-96231b3b80d8
Add throw() specifiers to more redeclarations of operator delete and operator delete[].


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201016 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] struct ustat and a bunch of other definitions are missing on Android.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201068 91177308-0d34-0410-b5e6-96231b3b80d8
[TSan] Fix mismatched mangled names in operator delete interceptors

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201069 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Disable 3 more syscall hooks on Android.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201070 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Don't #include the same system header twice.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201071 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Return EINVAL instead of crashing from mmap of an invalid address.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201074 91177308-0d34-0410-b5e6-96231b3b80d8
Add a copy of missing <ucontext.h> for Android and enable ASan SEGV handler.

This change adds a copy of <ucontext.h> for Android found in google-breakpad
that is missing from the official NDK.
ASan SEGV handler is still disabled by default and can be enabled with
ASAN_OPTIONS=handle_segv.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201084 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unused config.llvm_symbolizer_path

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201147 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] External symbolizer refactoring: split protocol for communicating with
llvm-symbolizer binary and external process handling into separate classes.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201150 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Use system unwinder in signal handlers on Android.

Because of the way Bionic sets up signal stack frames, libc unwinder is unable
to step through it, resulting in broken SEGV stack traces.

Luckily, libcorkscrew.so on Android implements an unwinder that can start with
a signal context, thus sidestepping the issue.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201151 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Fix build.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201152 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Fix Windows build.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201154 91177308-0d34-0410-b5e6-96231b3b80d8
Require CMake 2.8.12.1 or later on Windows

That version knows to use the /FS flag, which is needed for building
lib/interception with VS2013.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201184 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] added a bit vector class to be used in a deadlock detector

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201210 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Reduce stack frame size of SlowUnwindStackWithContext

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201212 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Build sanitizer_common with -Wframe-larger-than=512 flag

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201213 91177308-0d34-0410-b5e6-96231b3b80d8