tsan: fix another latent race size bug in test
authorDmitry Vyukov <dvyukov@google.com>
Fri, 30 Jul 2021 10:42:35 +0000 (12:42 +0200)
committerDmitry Vyukov <dvyukov@google.com>
Fri, 30 Jul 2021 10:55:13 +0000 (12:55 +0200)
The test contains a race in memset.
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: melver

Differential Revision: https://reviews.llvm.org/D107149

compiler-rt/test/tsan/Linux/double_race.cpp

index b670589..c8fda74 100644 (file)
@@ -5,7 +5,7 @@
 // A reproducer for a known issue.
 // See reference to double_race.cpp in tsan_rtl_report.cpp for an explanation.
 
-char buf[16];
+long long buf[2];
 volatile int nreport;
 
 void __sanitizer_report_error_summary(const char *summary) {