diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h @@ -579,7 +579,12 @@ struct __sanitizer_siginfo_pad { // Require uptr, because siginfo_t is always pointer-size aligned on Linux. +#if SANITIZER_X32 + // X32 siginfo_t is aligned to 8 bytes. + u64 pad[128 / sizeof(u64)]; +#else uptr pad[128 / sizeof(uptr)]; +#endif }; #if SANITIZER_LINUX