[msan] Change wording in the invalid origin message.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193335 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Fix invalid origin copying.

Origin copying may destroy valid origin info. This is caused by
__msan_copy_origin widening the address range to the nearest 4-byte aligned
addresses both on the left and on the right. If the target buffer is
uninitialized and the source is fully initialized, this will result in
overriding valid origin of target buffer with stale (possibly 0) origin of the
source buffer.

With this change the widened origin is copied only if corresponding shadow
values are non zero.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193338 91177308-0d34-0410-b5e6-96231b3b80d8
[msan] Unpoison errno in common interceptors.


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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193348 91177308-0d34-0410-b5e6-96231b3b80d8
Switch __ARM_ARCH_7S__ to __ARM_ARCH_EXT_IDIV__ for use of sdiv/udiv assembly.

__ARM_ARCH_EXT_IDIV__ is the define that ARM is using to indicate the presence
of hardware integer divide (sdiv/udiv). Previously, this code was only being
invoked for processors marked 7S. We now can correctly generate hardware
divides on cortex-a15 devices.

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


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193396 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: do not crash when apparently bogus fd is passed to e.g. close

some tests test libc/filesystem error handling paths (e.g. close(INT_MAX)),
currently such tests fail
with this change they work as expected



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