svn commit: r295860 - in projects/clang380-import/contrib/compiler-rt/lib: msan sanitizer_common tsan/rtl
Dimitry Andric
dim at FreeBSD.org
Sun Feb 21 16:27:57 UTC 2016
Author: dim
Date: Sun Feb 21 16:27:55 2016
New Revision: 295860
URL: https://svnweb.freebsd.org/changeset/base/295860
Log:
Update compiler-rt to release_38 branch r261369.
Modified:
projects/clang380-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc
projects/clang380-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
projects/clang380-import/contrib/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc
Directory Properties:
projects/clang380-import/contrib/compiler-rt/ (props changed)
Modified: projects/clang380-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc
==============================================================================
--- projects/clang380-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc Sun Feb 21 16:23:44 2016 (r295859)
+++ projects/clang380-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc Sun Feb 21 16:27:55 2016 (r295860)
@@ -1408,12 +1408,12 @@ int OnExit() {
__msan_unpoison(ptr, size)
#define COMMON_INTERCEPTOR_ENTER(ctx, func, ...) \
if (msan_init_is_running) return REAL(func)(__VA_ARGS__); \
+ ENSURE_MSAN_INITED(); \
MSanInterceptorContext msan_ctx = {IsInInterceptorScope()}; \
ctx = (void *)&msan_ctx; \
(void)ctx; \
InterceptorScope interceptor_scope; \
- __msan_unpoison(__errno_location(), sizeof(int)); /* NOLINT */ \
- ENSURE_MSAN_INITED();
+ __msan_unpoison(__errno_location(), sizeof(int)); /* NOLINT */
#define COMMON_INTERCEPTOR_DIR_ACQUIRE(ctx, path) \
do { \
} while (false)
Modified: projects/clang380-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc
==============================================================================
--- projects/clang380-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc Sun Feb 21 16:23:44 2016 (r295859)
+++ projects/clang380-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc Sun Feb 21 16:27:55 2016 (r295860)
@@ -222,6 +222,11 @@ uptr ThreadDescriptorSize() {
char *end;
int minor = internal_simple_strtoll(buf + 8, &end, 10);
if (end != buf + 8 && (*end == '\0' || *end == '.')) {
+ int patch = 0;
+ if (*end == '.')
+ // strtoll will return 0 if no valid conversion could be performed
+ patch = internal_simple_strtoll(end + 1, nullptr, 10);
+
/* sizeof(struct pthread) values from various glibc versions. */
if (SANITIZER_X32)
val = 1728; // Assume only one particular version for x32.
@@ -235,9 +240,9 @@ uptr ThreadDescriptorSize() {
val = FIRST_32_SECOND_64(1136, 1712);
else if (minor == 10)
val = FIRST_32_SECOND_64(1168, 1776);
- else if (minor <= 12)
+ else if (minor == 11 || (minor == 12 && patch == 1))
val = FIRST_32_SECOND_64(1168, 2288);
- else if (minor == 13)
+ else if (minor <= 13)
val = FIRST_32_SECOND_64(1168, 2304);
else
val = FIRST_32_SECOND_64(1216, 2304);
Modified: projects/clang380-import/contrib/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc
==============================================================================
--- projects/clang380-import/contrib/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc Sun Feb 21 16:23:44 2016 (r295859)
+++ projects/clang380-import/contrib/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc Sun Feb 21 16:27:55 2016 (r295860)
@@ -159,8 +159,8 @@ void PrintMatchedSuppressions() {
Printf("ThreadSanitizer: Matched %d suppressions (pid=%d):\n", hit_count,
(int)internal_getpid());
for (uptr i = 0; i < matched.size(); i++) {
- Printf("%d %s:%s\n", matched[i]->hit_count, matched[i]->type,
- matched[i]->templ);
+ Printf("%d %s:%s\n", atomic_load_relaxed(&matched[i]->hit_count),
+ matched[i]->type, matched[i]->templ);
}
}
} // namespace __tsan
More information about the svn-src-projects
mailing list