Add FreeBSD support to the address sanitizer's waitid.cc test case
Differential Revision: http://reviews.llvm.org/D4422


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213368 91177308-0d34-0410-b5e6-96231b3b80d8
Add FreeBSD support to the Asan symbolization script
Differential Revision: http://reviews.llvm.org/D4560


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213370 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: expose atomic operations in Go runtime



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213382 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: fix Go runtime build with clang



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213384 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: fix division in some cases

For ARM cores that are ARMv6T2+ but not ARMv7ve or ARMv7-r and not an updated
ARMv7-a that has the idiv extension (chips with clz but not idiv), an incorrect
jump would be calculated due to the preference to thumb instructions over ARM.

Rather than computing the target at runtime, use a jumptable instead.  This
trades a bit of storage for performance.  The overhead is 32-bytes for each of
the three routines, but avoid the calculation of the offset.

Because clz was introduced in ARMv6T2 and idiv in certain versions of ARMv7,
the non-clz, non-idiv case implies a target which does not support Thumb-2, and
thus we cannot use Thumb on those targets (as it is unlikely that the assembly
will assemble).

Take the opportunity to refactor the IT block macros into assembly.h rather than
redefining them in the TUs where they are used.

Existing tests cover the full change already, so no new tests are added.

This effectively reverts SVN r213309.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213467 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r213467, it breaks non-thumb mode.


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

Discussed with and tested by: Saleem Abdulrasool


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213481 91177308-0d34-0410-b5e6-96231b3b80d8
[lsan] Use a more standard-conformant sched_yield() instead of pthread_yield().
There's no pthread_yield() on OSX (only sched_yield() and pthread_yield_np()).


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213516 91177308-0d34-0410-b5e6-96231b3b80d8
[lsan] Define MAP_ANONYMOUS as MAP_ANON for OSX in the test.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213518 91177308-0d34-0410-b5e6-96231b3b80d8
[lsan] Allow using ucontext.h in the test on OSX.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213523 91177308-0d34-0410-b5e6-96231b3b80d8
Adjust gen_dynamic_list for PowerPC function descriptors

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