From cadbb9241627eefc9f589ae4376fd9ed3e272ecc Mon Sep 17 00:00:00 2001 From: Ilya Leoshkevich Date: Tue, 13 Jul 2021 15:51:47 +0200 Subject: [PATCH] [TSan] Align thread_registry_placeholder s390x requires ThreadRegistry.mtx_.opaque_storage_ to be 4-byte aligned. Since other architectures may have similar requirements, use the maximum thread_registry_placeholder alignment from other sanitizers, which is 64 (LSan). Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D105629 --- compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp index e704cbde1dbe..7f769d017935 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp +++ b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp @@ -77,7 +77,7 @@ void OnInitialize() { } #endif -static char thread_registry_placeholder[sizeof(ThreadRegistry)]; +static ALIGNED(64) char thread_registry_placeholder[sizeof(ThreadRegistry)]; static ThreadContextBase *CreateThreadContext(u32 tid) { // Map thread trace when context is created.