[asan] make use-after-return handle very deep recursion; fixes 483.xalancbmk in UAR mode

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@189929 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] add a test that demonstrates why the current use-after-return is not signal-safe

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@189943 91177308-0d34-0410-b5e6-96231b3b80d8
asan: Add a wcslen interceptor mirroring strlen

Tested on Linux, since I can't build the tests on Windows yet.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190022 91177308-0d34-0410-b5e6-96231b3b80d8
sanitizers: Make sure Visual Studio gets error reports

Visual Studio appears to close stderr before launching a non-console
win32 program.  This means we don't see any sanitizer reports.  If
stderr printing fails, call OutputDebugStringA to get the reports into
the Visual Studio debugger console.

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