CMake: build DLLs in the right directory and include them in the 'install' target (PR21719)

When CMake builds a dynamic library on Windows, the .dll file's location is
determined by the RUNTIME_OUTPUT_DIRECTORY, which we were previously not
setting.

This means for example that clang_rt.asan_dynamic-i386.dll will get built
and installed in the same directory as the corresponding .lib file,
instead of being built in the bin/ directory and not installed at all.

Differential Revision: http://reviews.llvm.org/D6508

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223387 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan, LSan] Improve tracking of thread creation.

In the current scheme of things, the call to ThreadStart() in the child
thread is not synchronized with the parent thread. So, if a pointer is passed to
pthread_create, there may be a window of time during which this pointer will not
be discoverable by LSan. I.e. the pthread_create interceptor has already
returneed and thus the pointer is no longer on the parent stack, but we don't
yet know the location of the child stack. This has caused bogus leak reports
(see http://llvm.org/bugs/show_bug.cgi?id=21621/).

This patch makes the pthread_create interceptor wait until the child thread is
properly registered before returning.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223419 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: protect trace memory range on startup

so that user does not map something there ahead of us



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

this test is flaky because of ASLR
app memory is 7e8000000000-800000000000,
there may or may not be a 1TB hole depending on
where ASLR will choose to map libraries



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223469 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Fix Win build following r223419.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223477 91177308-0d34-0410-b5e6-96231b3b80d8
[LSan] Rewrite the test from r223419 to not use C++11.

This was causing build failures on llvm-clang-lld-x86_64-centos-6.5 for some
reason. Anyway, the new way is better because we no longer rely on std::thread
implementation details.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223480 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Refactor thread starting code.

Move thread context creation into AsanThread::Create().

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

Adds 3 new suppression types, "interceptor_name", "interceptor_via_fun", "interceptor_via_lib".

Reviewed at http://reviews.llvm.org/D6280.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223508 91177308-0d34-0410-b5e6-96231b3b80d8
AddressSanitizer - Don't instrument globals from cstring_literals sections. (compiler-rt part)

Reviewed at http://reviews.llvm.org/D6488



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223514 91177308-0d34-0410-b5e6-96231b3b80d8
[DFSAN][MIPS] adding support of DFSAN for MIPS64

Minor changes to enable DFSAN on MIPS64

Patch by Kumar Sukhani!

Differential Revision: http://reviews.llvm.org/D6437

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223517 91177308-0d34-0410-b5e6-96231b3b80d8
Reverting r223513 and r223514.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223519 91177308-0d34-0410-b5e6-96231b3b80d8
Recommit of r223513 and r223514.

Reviewed at http://reviews.llvm.org/D6488



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223533 91177308-0d34-0410-b5e6-96231b3b80d8
XFAILing suppression tests on Android. The suppression files are not being transfered to the device.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223540 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Intercept wcsto*.

Intercept wcstod, wcstof, wcstold, wcstol, wcstoul, wcstoll, wcstoull.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223650 91177308-0d34-0410-b5e6-96231b3b80d8
Merge branch 'master', remote-tracking branch 'trunk/master'