[asan] get rid of some of the uses of kPageSize. The intent is to get rid of it completely to support platforms with multiple possible page sizes.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168517 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add failure memory order to atomic compare exchange functions


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168518 91177308-0d34-0410-b5e6-96231b3b80d8
[asan/tsan] get rid of kPageSize completely in favor of GetPageSizeCached(). This makes the code friendly to more platforms

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168537 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: faster memory reset for Go


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168567 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add atomic nand operation


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168584 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] fix Android build by not calling GetPageSizeCached in a test (no need for the page size anyway)

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168585 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: explicitly mark symbols referenced from assembly as hidden
this allows to build tsan runtime as dynamic library


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168589 91177308-0d34-0410-b5e6-96231b3b80d8
Automatically create .dSYM for libcompiler_rt.dylib when using Apple's internal build system

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168625 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: refactor atomic operations implementation
do the atomic operation under the sync object mutex
make acquire/release sync atomic with the operation itself
combine acquire and release into a single acq_rel operation


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168682 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add 128-bit atomic operations


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168683 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add memory range access functions to public iface


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168692 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: fix compilation for dead old compilers (why we are supporting them at all?..)


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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168697 91177308-0d34-0410-b5e6-96231b3b80d8
ubsan: Support unsigned overflows, and divide-by-zero int/float split.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168700 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add description of memory layouts in different configs


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168777 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: move traces from tls into dedicated storage at fixed address
helps to reduce tls size (it's weird to have multi-MB tls)
will help with dynamically adjustable trace size


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168783 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: change fast state layout in preparation to dynamic traces


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168784 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: dynamic history size
introduces history_size parameter that can be used to control trace size at startup


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168786 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add log_path parameter (similar to asan)
remove old log_fileno


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168788 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: address several review comments


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