[msan] Separate access and origin blocks in msan reports with an extra whiteline.


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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193405 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Zerofill initstate_r buffer in random_r test.


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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193408 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Remove pthread_attr_getstackaddr interceptor.

The function is deprecated.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193409 91177308-0d34-0410-b5e6-96231b3b80d8
[msandr] Add NATIVE_EXEC macro for building client for running in DynamoRIO hybrid mode only.

When running application in DynamoRIO hybrid mode only, only uninstrumented
modules will run in DynamoRIO and be instrumented by the client, so we do not
need module table in MSanDR.

Patch by Qin Zhao.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193411 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Intercept tmpnam, tmpnam_r, tempnam.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193415 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Disable tmpnam_r interceptor on Mac.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193417 91177308-0d34-0410-b5e6-96231b3b80d8
Rename SpinMutex::AssertHeld to CheckLocked, for consistency with BlockingMutex.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193447 91177308-0d34-0410-b5e6-96231b3b80d8
Overhaul the symbolizer interface.

This moves away from creating the symbolizer object and initializing the
external symbolizer as separate steps.  Those steps now always take place
together.

Sanitizers with a legacy requirement to specify their own symbolizer path
should use InitSymbolizer to initialize the symbolizer with the desired
path, and GetSymbolizer to access the symbolizer.  Sanitizers with no
such requirement (e.g. UBSan) can use GetOrInitSymbolizer with no need for
initialization.

The symbolizer interface has been made thread-safe (as far as I can
tell) by protecting its member functions with mutexes.

Finally, the symbolizer interface no longer relies on weak externals, the
introduction of which was probably a mistake on my part.

Differential Revision: http://llvm-reviews.chandlerc.com/D1985

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193448 91177308-0d34-0410-b5e6-96231b3b80d8
Add a CMake option COMPILER_RT_DEBUG for building runtimes with full debug info.

Differential Revision: http://llvm-reviews.chandlerc.com/D1984

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