[asan] fix dlclose-test to work with non-4K pages. Properly disable interface_symbols_linux on non-x86

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182461 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] attempting to fix the debian bot (on ubuntu the test builds; on debian it complains that _SC_PAGESIZE is unknown)

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182462 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] enhance stack-overflow.cc test: check that the location frame is properly symbolized

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182463 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Temporary remove leak checking from ASan, while we don't have makefile-based build for LSan

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182465 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] getaddrinfo & nested interceptor support.

Multiple connected changes:
- Ignore reads from nested interceptors.
- Check shadow on reads from common interceptors.
- getaddrinfo interceptor.



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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182469 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r182465 and add lsan-common library to makefile-based build

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


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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182475 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] fix the reported PCs for powerpc64

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182477 91177308-0d34-0410-b5e6-96231b3b80d8
Effectively revert r182453 - atomic.c may not be compiled if host compiler doesn't understand _Atomic

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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182479 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Fix Mac build one more time.


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

Using fwrite and fread was very *very* slow. The resulting code was multiple
times slower than GCC's implementation of gcov. Replace the fwrite/fread system
with an mmap() version.

If the `.gcda' file doesn't exist, we (re)allocate a buffer that we write
into. That gets written to the `.gcda' file in one chunk. If the `.gcda' file
already exists, we simply mmap() the file, modify the mapped data, and use
msync() to write the contents out to disk. It's much easier than implementing
our own buffering scheme, and we don't have to use fwrite's and fread's
buffering.

For those who are numbers-oriented, here are some timings:

GCC Verison
-----------

`.gcda' files don't exist:  23s
`.gcda' files do exist:     14s

LLVM Version (before this change)
---------------------------------

`.gcda' files don't exist:  28s
`.gcda' files do exist:     28s

LLVM Version (with this change)
-------------------------------

`.gcda' files don't exist:  18s
`.gcda' files do exist:      4s

It's a win-win-win-win-lose-win-win scenario!

<rdar://problem/13466086>


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182563 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Rename __asan_preinit to __local_asan_preinit to avoid warnings from the linker which is trying to export all the __asan_* symbols


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