[lsan] Make the report_objects flag more useful.

Print the list of leaked objects after each leak report. Previously we
printed only a joint list of all leaked objects. As a bonus, suppressed objects
are no longer reported.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197977 91177308-0d34-0410-b5e6-96231b3b80d8
[lsan] Refactor the LeakReport class.

Those methods were too damn bloated.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197978 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: remove in_rtl counter

This is intended to address the following problem.
Episodically we see CHECK-failures when recursive interceptors call back into user code. Effectively we are not "in_rtl" at this point, but it's very complicated and fragile to properly maintain in_rtl property. Instead get rid of it. It was used mostly for sanity CHECKs, which basically never uncover real problems.
Instead introduce ignore_interceptors flag, which is used in very few narrow places to disable recursive interceptors (e.g. during runtime initialization).



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197979 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: fix false positive in pthread stack manupulation
pthread uses internal cache, we do not see synchronization in it



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197982 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Replace Symbolizer::IsAvailable and Symbolizer::IsExternalAvailable with Symbolizer::CanReturnFileLineInfo.
Remove now redundant checks in symbolizer initialization in TSan and MSan.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@198000 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Move OS-specific code for MemoryMappingLayout into separate source files.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@198003 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Teach MemoryMappingLayout to dump all loaded modules.

Use this to implement GetListOfModules() on Mac and on Android
(on Linux we use dl_iterate_phdr).


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

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@198005 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Don't use MemoryMappingLayout in StackTrace::PrintStack - it is now a responsibility of Symbolizer class.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@198006 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Properly specify linux-only unit test.

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