[MSan] Add __msan_unpoison_string() to the public interface.

Using __msan_unpoison() on null-terminated strings is awkward because
strlen() can't be called on a poisoned string. This case warrants a special
interface function.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204448 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] more human-readable deadlock reports

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204454 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] print threads in deadlock report

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204461 91177308-0d34-0410-b5e6-96231b3b80d8
[libsanitizer] Add descriptions for the common flags.
Use new(allocator_for_flags) instead of allocator_for_flags.Allocate()
Fix the description output format a bit.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204484 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Write raw binary profile from runtime

Write a raw binary profile from the runtime.

<rdar://problem/15950346>

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204495 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Reorganize files; no functionality change

Move functions around to prepare for some other changes.

  - Merge InstrProfilingExtras.h with InstrProfiling.h.  There's no
    benefit to having these split.

  - Rename InstrProfilingExtras.c to InstrProfilingFile.c.

  - Split actual buffer writing code out of InstrProfiling.c into
    InstrProfilingBuffer.c.

  - Drive-by corrections of a couple of header comments.

<rdar://problem/15943240>

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204497 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: If libc is available, use it; no functionality change

It was misguided to plan to rely on __llvm_profile_write_buffer() in
__llvm_profile_write_file().  It's less complex to duplicate the writing
logic than to mmap the file.

Since it's here to stay, move `FILE*`-based writing logic into
InstrProfilingFile.c.

<rdar://problem/15943240>

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204498 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Write the __llvm_profile_write_buffer()

Write __llvm_profile_write_buffer(), which uses the same logic as
__llvm_profile_write_file(), but writes directly to a provided `char*`
buffer instead.

<rdar://problem/15943240>

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204499 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Unify logic in two profile writers

<rdar://problem/15943240>

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204500 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: __ => _ in header guards

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204502 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Change magic number to have non-text characters

Include non-text characters in the magic number so that text files can't
match.

<rdar://problem/15950346>

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204514 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Remove MSVC-specific logic

Apparently, MSVC has stdint.h now?  Let's see if the buildbots complain.
I'm not convinced that the build system is even set up for MSVC to build
this file, but...

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204515 91177308-0d34-0410-b5e6-96231b3b80d8
Avoid GCC's "cast from pointer to integer of different size" warning.

This is a bit of a stab in the dark as I'm not sure I've got these
source files compiling correctly locally. (and the warning only
reproduces on a 32bit build anyway)

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