Implement a bunch of custom glibc wrappers & corresponding tests

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@195749 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Improve external symbolizer behavior.

1) Don't start external symbolizer subprocess until we actually try to
   symbolize anything.
2) Allow to turn off external symbolizer by providing empty ?SAN_SYMBOLIZER_PATH
   environment variable.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@195771 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: support synchronization by means of linux aio
http://llvm-reviews.chandlerc.com/D2269



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

- running_on_valgrind was not parsed in some contexts
- refactor code a bit
- add comprehensive tests for flags parsing



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@195831 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: minor refactoring
use common helper macro



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@195832 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: do not leave verbosity>0 in tests



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