From 26cf1a7a57a74ca82f9e57ff1165cd2d33bf9a00 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Wed, 1 Feb 2023 13:10:53 +0100 Subject: [PATCH] max_align_t is used to examine the largest alignment requirement, and it is expected to check the alignment value via alignof, not sizeof. Otherwise, __attribute__((aligned)) can complain as required alignment being invalid, e.g. on s390x. Patch provided by Mamoru Tasaka, Fedora --- src/osdi/osdidefs.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/osdi/osdidefs.h b/src/osdi/osdidefs.h index 45d117336..6130482ad 100644 --- a/src/osdi/osdidefs.h +++ b/src/osdi/osdidefs.h @@ -25,6 +25,9 @@ #include #include +#ifndef _MSC_VER +#include +#endif #ifdef _MSC_VER typedef struct { @@ -44,7 +47,7 @@ typedef struct { #ifdef _MSC_VER #define MAX_ALIGN 8 #else -#define MAX_ALIGN sizeof(max_align_t) +#define MAX_ALIGN alignof(max_align_t) #endif