Switch __ARM_ARCH_7S__ to __ARM_ARCH_EXT_IDIV__ for use of sdiv/udiv assembly.

__ARM_ARCH_EXT_IDIV__ is the define that ARM is using to indicate the presence
of hardware integer divide (sdiv/udiv). Previously, this code was only being
invoked for processors marked 7S. We now can correctly generate hardware
divides on cortex-a15 devices.

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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193396 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: do not crash when apparently bogus fd is passed to e.g. close

some tests test libc/filesystem error handling paths (e.g. close(INT_MAX)),
currently such tests fail
with this change they work as expected



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193400 91177308-0d34-0410-b5e6-96231b3b80d8
[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
[Sanitizer] Add pthread_attr_getaffinity_np to the list of versioned functions

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193470 91177308-0d34-0410-b5e6-96231b3b80d8
Work around ASan/Win breakage by r193448

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193501 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: start the background thread with signals blocked, otherwise it can steal users signals



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193519 91177308-0d34-0410-b5e6-96231b3b80d8
asan/msan: separate different report blocks with new lines

this makes the reports consistent with tsan, and much more readable.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193520 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Revert r193501 and properly fix r193448

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193522 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Fix a typo and enable poison_in_free flag.


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