[compiler-rt] ce52e03 - tsan: fix another latent race size bug in test

Dmitry Vyukov via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 30 03:55:18 PDT 2021


Author: Dmitry Vyukov
Date: 2021-07-30T12:55:13+02:00
New Revision: ce52e0339f0ae1e7ac915f041b3f4d32081f648e

URL: https://github.com/llvm/llvm-project/commit/ce52e0339f0ae1e7ac915f041b3f4d32081f648e
DIFF: https://github.com/llvm/llvm-project/commit/ce52e0339f0ae1e7ac915f041b3f4d32081f648e.diff

LOG: tsan: fix another latent race size bug in test

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

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/tsan/Linux/double_race.cpp b/compiler-rt/test/tsan/Linux/double_race.cpp
index b670589f9374..c8fda7482ae6 100644
--- a/compiler-rt/test/tsan/Linux/double_race.cpp
+++ b/compiler-rt/test/tsan/Linux/double_race.cpp
@@ -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) {


        


More information about the llvm-commits mailing list