[msan] Get stack limits with pthread_create interceptor.

Before we did it lazily on the first stack unwind in the thread.
It resulted in deadlock when the unwind was caused by memory allocation
inside pthread_getattr_np:
  pthread_getattr_np   <<< not reentable
  GetThreadStackTopAndBottom
  __interceptor_realloc
  pthread_getattr_np
  


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197026 91177308-0d34-0410-b5e6-96231b3b80d8
Only build embedded darwin variants if the compiler supports them

We need to filter out architectures that the compiler hasn't been built to
target (most likely the ARM ones) before attemptint to build a version of
libcompiler_rt.

This can result in a completely empty library (e.g. soft-float doesn't have any
x86 variants), in which case we shouldn't even try the build

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197028 91177308-0d34-0410-b5e6-96231b3b80d8
[msandr] Remove std::string in dr_init for optimized hybrid execution.

Patch by Qin Zhao.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197029 91177308-0d34-0410-b5e6-96231b3b80d8
[msandr] Remove one more use of std::string and put all STL headers under ifdef.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197031 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] if verbosity>=2, print the fake stack usage stats at thread exit; No functionality change in non-verboze mode

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197037 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] when a fake stack is being unmapped also flush the corresponding shadow

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