aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2021-07-30 08:45:16 +0200
committerDmitry Vyukov <dvyukov@google.com>2021-07-30 11:39:26 +0200
commitdbe36e4073e708816cbeb693ea52832f54f52f2a (patch)
tree3cd7badeae6e7f96e4255c91727eedc976c8212b
parent4b563067622d5fd58d5d91de8ce256a1bd36129a (diff)
downloadllvm-dbe36e4073e708816cbeb693ea52832f54f52f2a.zip
llvm-dbe36e4073e708816cbeb693ea52832f54f52f2a.tar.gz
llvm-dbe36e4073e708816cbeb693ea52832f54f52f2a.tar.bz2
tsan: fix latent race size bug in test
The test contains a race in read/write syscalls. The size of reported race depends on how the accessed memory range split into granules inside of tsan runtime. The test used to report access of size 8, because presumably the buffer ended up being aligned to 8 bytes. But after some unrelated changes this test started to report accesses of size 1 (presumably .data layout changed), which makes the test fail. Guarantee alignment of the buf object explicitly. Reviewed By: vitalybuka, melver Differential Revision: https://reviews.llvm.org/D107131
-rw-r--r--compiler-rt/test/tsan/Linux/syscall.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler-rt/test/tsan/Linux/syscall.cpp b/compiler-rt/test/tsan/Linux/syscall.cpp
index 34d370c..6b46bda 100644
--- a/compiler-rt/test/tsan/Linux/syscall.cpp
+++ b/compiler-rt/test/tsan/Linux/syscall.cpp
@@ -6,7 +6,7 @@
#include <sys/wait.h>
int pipefd[2];
-char buf[10];
+unsigned long long buf[2];
static void *thr(void *p) {
barrier_wait(&barrier);