[ASan] Port (the last one) tricky interface_test to lit, and a *huge* chunks of boilerplate to run tests for 32/64 bits and all optimization levels. Alas, lit doesn't support for loops in RUN-lines...

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161941 91177308-0d34-0410-b5e6-96231b3b80d8
Make __asan::asan_{malloc,free,memalign} globally visible, so that the dynamic version of the runtime will export them.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161942 91177308-0d34-0410-b5e6-96231b3b80d8
Use SANITIZER_INTERFACE_ATTRIBUTE instead of __attribute__((visibility("default")))
Export CheckFailed, asan_malloc, asan_free, asan_memalign, AsanStackTrace::CompressStack, AsanStackTrace::UncompressStack from the dynamic runtime library.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161943 91177308-0d34-0410-b5e6-96231b3b80d8
Move the prototype of __CFInitialize to asan_mac.h so that asan_malloc_mac.cc may use it in the dynamic library mode.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161945 91177308-0d34-0410-b5e6-96231b3b80d8
Patch the frame address regardless of the frame number.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161946 91177308-0d34-0410-b5e6-96231b3b80d8
Pass offset of the frame address within the binary to addr2line instead of the absolute address.
Fixes the problem with -PIE binaries.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161947 91177308-0d34-0410-b5e6-96231b3b80d8
Check for filenames and numbers to detect possible problems with asan_symbolize.py on -fPIE binaries.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161948 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: fix several integer overflows


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161949 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add some more tests for memory allocator


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161950 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] lit tests: use nm instead of llvm-nm, until llvm-nm becomes usable on Mac. Port output test change in r161948 to lit

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161951 91177308-0d34-0410-b5e6-96231b3b80d8
Introduce asan_intercepted_functions.h which contains the declarations wrapped functions and their wrappers.
Those declarations are going to be shared between asan_interceptors.cc and the dynamic runtime library on Mac OS.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161952 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: switch to new allocator


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161953 91177308-0d34-0410-b5e6-96231b3b80d8
Remove the extra semicolon reported by the buildbot.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161954 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: provide function that imitates write to a region but does not detect races


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161957 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: store sync objects in memory block headers + delete them when the block is freed


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