Holy macaroons, somebody made a copy of llvm/runtime/profile/GCDAProfiling.c,
didn't delete the original, and now they've diverged. I have no idea what's
going on. Apply my patch in r176173 to this one too, this one looks newer?


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176236 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Lit tests for __attribute__((no_sanitize_memory)).


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176248 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Relax ThreadLister tests to allow possible pre-existing threads. Do proper mutex destruction. Patch by Sergey Matveev

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176249 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] bump kMidMemEnd to 0x4fffffffffULL since in rare cases prelink uses addresses higher than 0x3fffffffff

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176250 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Enable allocator2 on Android.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176255 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Add the memcmp_strict flag (1 by default) that controls the behavior of accessibility checks in memcmp.
1: memcmp(p1, p2, n) always checks n bytes
0: memcmp checks up to n bytes depending on whether the memory contents differ.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176256 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Lower memory usage in LargeMallocTest on Android.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176264 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Fix check failure in SizeClassMap::Print.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176338 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] Revert r176255, r176264.

New allocator has 1.5x memory overhead of the old one.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176340 91177308-0d34-0410-b5e6-96231b3b80d8
update how libcompiler_rt.dylib links under libSystem.dylib on MacOSX

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176466 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Add methods back() and pop_back() to InternalVector. Patch by Sergey Matveev

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176478 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] fix signed-unsigned mismatch in test and use correct order of EXPECT_EQ() args

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176479 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizers] Fix check failure on dealloc from new thread

Summary:
Adds a test for this case, which was reduced from a chromium build of
WebKit's DumpRenderTree.

Reviewers: eugenis

CC: glider

Differential Revision: http://llvm-reviews.chandlerc.com/D495

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176552 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] pthread_join() returns int, not void*

pthread_join() returns an error code, not the result of the
pthread_create() function like I thought.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176554 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Block reports from interceptors during _Unwind_Backtrace

Summary:
I'm hitting a big recursive report from:
  uninit on strlen ->
  __msan::PrintWarningWithOrigin() ->
  __msan::GetStackTrace() ->
  __sanitizer::StackTrace::SlowUnwindStack() ->
  _Unwind_Backtrace() ->
  ... libgcc calls ->
  uninit on strlen() ->
  ... repeats

Reviewers: eugenis

Differential Revision: http://llvm-reviews.chandlerc.com/D497

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176555 91177308-0d34-0410-b5e6-96231b3b80d8
Take the GCDA version string as an input to llvm_gcda_start_file.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176618 91177308-0d34-0410-b5e6-96231b3b80d8
Don't emit the extra checksum into the .gcda file if the user hasn't asked for 
it. Fortunately, versions of gcov that predate the extra checksum also ignore 
any extra data, so this isn't a problem. This matches the API change made in
r176745.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176746 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] make SizeClassAllocator64::GetBlockBegin more bullet proof (by Sergey Matveev)

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176799 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] don't call strerr from functions that map memory, since this results in malloc().


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@176800 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan] Try to use a small (512 bytes) stack-local buffer in Report() for short messages, fall back to MmapOrDie() in the case of a failure.
This shall eliminate most of the cryptic "ERROR: failed to mmap" messages caused by recursively calling MmapOrDie() from MmapOrDie().


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