summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-09-26 14:23:34 +0000
committerDmitry Vyukov <dvyukov@google.com>2016-09-26 14:23:34 +0000
commitb32c3ecdb1d7f7b9f01d48a426c20bf23eace57d (patch)
tree8b0fb29dbf4896be99cf803694f618062e10beb5
parenta6baf8c3c8e3caf96b0b04269b654b208668bce6 (diff)
downloadbcm5719-llvm-b32c3ecdb1d7f7b9f01d48a426c20bf23eace57d.tar.gz
bcm5719-llvm-b32c3ecdb1d7f7b9f01d48a426c20bf23eace57d.zip
tsan: relaxed check in CheckShadowMapping
Some platforms use strange addresses in shadow mapping. E.g. aarch64/42vma: static const uptr kHiAppMemEnd = 0x3ffffffffffull; instead of 0x40000000000ull (the range is half-open). This caused bot failures after r282405: http://lab.llvm.org:8011/builders/clang-cmake-aarch64-42vma/builds/12242/steps/ninja%20check%201/logs/FAIL%3A%20SanitizerCommon-tsan-aarch64-Linux%3A%3Aclock_gettime.c Relaxed the new check in CheckShadowMapping to not expect round addresses. llvm-svn: 282407
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_rtl.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl.cc b/compiler-rt/lib/tsan/rtl/tsan_rtl.cc
index 1d4c35ad742..da1ea2cc5d3 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl.cc
@@ -295,8 +295,7 @@ static void CheckShadowMapping() {
uptr prev = 0;
for (uptr p0 = beg; p0 <= end; p0 += (end - beg) / 4) {
for (int x = -(int)kShadowCell; x <= (int)kShadowCell; x += kShadowCell) {
- const uptr p = p0 + x;
- CHECK_EQ(p, RoundDown(p, kShadowCell));
+ const uptr p = RoundDown(p0 + x, kShadowCell);
if (p < beg || p >= end)
continue;
const uptr s = MemToShadow(p);
OpenPOWER on IntegriCloud