Skip to content

Commit

Permalink
tsan: fix latent race size bug in test
Browse files Browse the repository at this point in the history
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
  • Loading branch information
dvyukov authored and memfrob committed Oct 4, 2022
1 parent 0f45bcd commit b5f5256
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion compiler-rt/test/tsan/Linux/syscall.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit b5f5256

Please sign in to comment.