[ASan] fix cmake build warning

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@160957 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Wrapper around llvm::DIContext from LLVM DebugInfo library. If a macro SANITIZER_USES_LLVM_LIBS is defined (by default it is not), then sanitizer runtime includes llvm headers and tries to use LLVM libs for in-process symbolization. To make it functional, we have to link with these LLVM libs - either pass them to linker from Clang driver, or link them into static ASan runtime when we build it.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161045 91177308-0d34-0410-b5e6-96231b3b80d8
Factor out the main() function.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161046 91177308-0d34-0410-b5e6-96231b3b80d8
First tiny move towards integrating AddressSanitizer regressions test into LLVM lit-based testing infrastructure.
The goal is to be able to run ASan tests by simply running "make check-asan" command from CMake build tree:
* tests should use fresh clang binary from current build tree.
* tests should use the same RUN-lines syntax as llvm/clang reg tests.

Next steps:
- restricting tests to machines where target is equal to host, i.e. where we can produce working binaries.
- moving AddressSanitizer unit tests to lit as well.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161050 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] cleanup interceptors code - prefer ASAN_INTERCEPT_FUNCTION_NAME macro to _WIN32, __APPLE__ etc.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161109 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Make ASan/TSan sources depend on headers from interception library

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161113 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for "movsbl %sil,%ecx" (x86_64) and "movsbl $imm(%ebp), %edx" (i386) to our fork of mach_override.
This is an extended version of a patch by Rafael Avila de Espindola (rafael.espindola@gmail.com)



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161116 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Fix warnings to please cmake build

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161166 91177308-0d34-0410-b5e6-96231b3b80d8
Make strcat() and strncat() more standard-compliant (check for invalid parameters even if zero bytes is copied, more accurate overlap check)
Fix the tests that were relying on the incorrect behavior.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161167 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Workaround for a compiler warning - ISO C++ forbids casting pointer-to-function to pointer-to-object, so we use cast via integral type

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161168 91177308-0d34-0410-b5e6-96231b3b80d8
Follow-up for r161168 for Windows

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161169 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] fix windows build

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161170 91177308-0d34-0410-b5e6-96231b3b80d8
Some refactoring for asan_symbolize.py: introduced the Symbolizer class and implemented DarwinSymbolizer for atos-based symbolization, BreakpadSymbolizer for breakpad-based symbolization (files produced by the dump_syms tool, http://code.google.com/p/google-breakpad/source/browse/#svn%2Ftrunk%2Fsrc%2Ftools%2Fmac%2Fdump_syms) and ChainSymbolizer to allow falling back if a symbolizer hadn't succeeded.
Fixed pylint warnings.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161176 91177308-0d34-0410-b5e6-96231b3b80d8
Implement LinuxSymbolizer instead of symbolize_addr2line.


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