[libsanitizer] Add register dumping support to SuspendedThreadsList.

An interface for obtaining register contexts from suspended threads. Tailored
for LSan use.

Patch by Sergey Matveev (earthdok@google.com)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@178461 91177308-0d34-0410-b5e6-96231b3b80d8
[libsanitizer] Added data() and capacity() getters to InternalVector.
Same interface as in STL. Needed for LSan.

Patch by Sergey Matveev (earthdok@google.com)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@178463 91177308-0d34-0410-b5e6-96231b3b80d8
[libsanitizer] Run the callback on a separate stack in StopTheWorld.

Currently the callback runs on the caller's stack. If this stack
contains values that have gone out of scope, and we are not super careful, those
values can propagate into global variables (the libc sigaction() in particular
has a side effect that can lead to this). This has caused false negatives in
leak checking code.

Changes: map a separate stack space for the tracer thread. Also, move some
globals into local scope (they had no business being global anyway).

Patch by Sergey Matveev (earthdok@google.com)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@178464 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] More interceptors.

getpwnam, getpwuid, getpwnam_r, getpwuid_r, clock_getres, clock_gettime,
clock_settime, getitimer, setitimer, sigaction (MSan).



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