[asan] Override default sigaltstack setting on Android.

Android libc always sets altstack on non-main threads, but it is too small for
our unwinder. With use_sigaltstack=1, override this setting with a larger one.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201557 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Fix one test on OSX.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201564 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Stack overflow detection.

Report segmentation faults near or below stack bottom as stack-overflow
(not stack-buffer-overflow!).


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201565 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Don't build ASan for iossim if -mmacosx-version-min is specified

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201566 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Disable stack-overflow test on main thread.

Failing on some bots.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201567 91177308-0d34-0410-b5e6-96231b3b80d8
[tsan] in deadlock detector do not register locks on their creation and unregister them on destruction; added a relevant test

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201568 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Relax stack-overflow test.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201571 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] make sure the deadlock detector survives the change of epochs; add a test and a comment

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201572 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Rename several variables

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201575 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] when reporting a deadlock also report the lock cycle

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201576 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan/Win] Add a couple more DLL thunks

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201580 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Rudimentary support for standalone CompilerRT build system.

This change allows to build compiler-rt libraries separately from
LLVM/Clang (path to LLVM build directory should be specified at
configure time). Running tests is not yet supported.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201647 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Added assembly functions for x86/amd64 asan.

These are runtime support functions for inline assembly instrumentation.
This is a re-submit of r201402.

Patch by Yuri Gorshenin.



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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201652 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Disable asm instrumentation and tests on Mac.

Move asm tests to their own file.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201653 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Add the way to run tests in standalone build.

1) Depend on llvm-config (configured in LLVM_CONFIG_PATH) to
get necessary LLVM source/binary directories.
2) Add basic support for running lit tests (check-xsan commands).
For now this "support" is far from what we want:
  * unit tests are not built currently.
  * lit tests use Clang/compiler-rt from LLVM build directory,
    not the host compiler or just-built compiler-rt libraries.

We should make a choice on the way we intend ti run compiler-rt lit testsuite:
a) use either Clang from LLVM build tree, or the host compiler.
b) use either just-built runtimes, or the runtimes shipped with the
host compiler.

Using just-built runtimes is tricky - we have to know where to put them, so that
Clang/GCC driver would pick them up (and not overwrite the existing runtimes).
Using a host compiler instead of Clang from LLVM build tree will give us a chance to
run lit tests under GCC (which already has support for several sanitizers).

That is, I tend to make the following choice: if we're in a standalone compiler-rt
build, use host compiler with its set of runtime libraries to run lit tests.
This will effectively decouple "make compiler-rt" and "make check-compiler-rt" in
a standalone build - the latter wouldn't invoke the former. Note that if we decide
to fix LLVM/Clang/compiler-rt build system so that it would configure/build
compiler-rt with just-built Clang (as we do in Makefile-based build), this will not
be a problem - we can add a dependency to ensure that clang/compiler-rt are rebuilt
before running compiler-rt tests.


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