[compiler-rt] dbe36e4 - tsan: fix latent race size bug in test
Dmitry Vyukov via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 30 02:39:33 PDT 2021
Author: Dmitry Vyukov
Date: 2021-07-30T11:39:26+02:00
New Revision: dbe36e4073e708816cbeb693ea52832f54f52f2a
URL: https://github.com/llvm/llvm-project/commit/dbe36e4073e708816cbeb693ea52832f54f52f2a
DIFF: https://github.com/llvm/llvm-project/commit/dbe36e4073e708816cbeb693ea52832f54f52f2a.diff
LOG: 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
Added:
Modified:
compiler-rt/test/tsan/Linux/syscall.cpp
Removed:
################################################################################
diff --git a/compiler-rt/test/tsan/Linux/syscall.cpp b/compiler-rt/test/tsan/Linux/syscall.cpp
index 34d370c6369b7..6b46bda483b1c 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);
More information about the llvm-commits
mailing list