Re: git: 2fa4bdd7f9e9 - main - edk2: enable static asserts for *INT64 alignment

From: A FreeBSD User <freebsd_at_walstatt-de.de>
Date: Sat, 30 May 2026 17:42:57 UTC
Am Tage des Herren Sat, 30 May 2026 19:09:41 +0200
A FreeBSD User <freebsd@walstatt-de.de> schrieb:

> Am Tage des Herren Sat, 30 May 2026 02:45:12 +0000
> Ahmad Khalifa <vexeduxr@FreeBSD.org> schrieb:
> 
> > The branch main has been updated by vexeduxr:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=2fa4bdd7f9e99698a6652db405c3165fdcd41c1d
> > 
> > commit 2fa4bdd7f9e99698a6652db405c3165fdcd41c1d
> > Author:     Ahmad Khalifa <vexeduxr@FreeBSD.org>
> > AuthorDate: 2026-05-30 02:40:58 +0000
> > Commit:     Ahmad Khalifa <vexeduxr@FreeBSD.org>
> > CommitDate: 2026-05-30 02:40:58 +0000
> > 
> >     edk2: enable static asserts for *INT64 alignment
> >     
> >     The ia32 loader is now built with -malign-double, so these should pass.
> >     
> >     Differential Revision:  https://reviews.freebsd.org/D55386
> > ---
> >  sys/contrib/edk2/Include/Base.h | 2 --
> >  1 file changed, 2 deletions(-)
> > 
> > diff --git a/sys/contrib/edk2/Include/Base.h b/sys/contrib/edk2/Include/Base.h
> > index 3ae798db8429..d3342c9a6ca2 100644
> > --- a/sys/contrib/edk2/Include/Base.h
> > +++ b/sys/contrib/edk2/Include/Base.h
> > @@ -841,10 +841,8 @@ STATIC_ASSERT (ALIGNOF (INT16)   == sizeof (INT16), "Alignment of
> > INT16 does not STATIC_ASSERT (ALIGNOF (UINT16)  == sizeof (UINT16), "Alignment of UINT16
> > does not meet UEFI Specification Data Type requirements"); STATIC_ASSERT (ALIGNOF (INT32)
> >  == sizeof (INT32), "Alignment of INT32 does not meet UEFI Specification Data Type
> > requirements"); STATIC_ASSERT (ALIGNOF (UINT32)  == sizeof (UINT32), "Alignment of UINT32
> > does not meet UEFI Specification Data Type requirements"); -#ifndef _STANDALONE
> > STATIC_ASSERT (ALIGNOF (INT64) == sizeof (INT64), "Alignment of INT64 does not meet UEFI
> > Specification Data Type requirements"); STATIC_ASSERT (ALIGNOF (UINT64)  == sizeof
> > (UINT64), "Alignment of UINT64 does not meet UEFI Specification Data Type requirements");
> > -#endif STATIC_ASSERT (ALIGNOF (CHAR8)   == sizeof (CHAR8), "Alignment of CHAR8 does not
> > meet UEFI Specification Data Type requirements"); STATIC_ASSERT (ALIGNOF (CHAR16)  ==
> > sizeof (CHAR16), "Alignment of CHAR16 does not meet UEFI Specification Data Type
> > requirements"); STATIC_ASSERT (ALIGNOF (INTN) == sizeof (INTN), "Alignment of INTN does
> > not meet UEFI Specification Data Type requirements");
> >   
> 
> The commit seems to disturb building process and gets rogue with:
> [...]
> In file included from /usr/src/sys/contrib/edk2/Include/Uefi/UefiBaseType.h:16:
> /usr/src/sys/contrib/edk2/Include/Base.h:844:16: error: static assertion failed due to
> requirement '_Alignof(long long) == sizeof(long long)': Alignment of INT64 does not meet UEFI
> Specification Data Type requirements 844 | STATIC_ASSERT (ALIGNOF (INT64)   == sizeof
> (INT64), "Alignment of INT64 does not meet UEFI Specification Data Type requirements"); |
>  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/sys/contrib/edk2/Include/Base.h:778:24: note:
> expanded from macro 'ALIGNOF'
> 
> 
> Regards
> oh

The commit seems to disturb building process and gets rogue with:
[...]
In file included from /usr/src/sys/contrib/edk2/Include/Uefi/UefiBaseType.h:16:
/usr/src/sys/contrib/edk2/Include/Base.h:844:16: error: static assertion failed due to
requirement '_Alignof(long long) == sizeof(long long)': Alignment of INT64 does not meet UEFI
Specification Data Type requirements 844 | STATIC_ASSERT (ALIGNOF (INT64)   == sizeof (INT64),
"Alignment of INT64 does not meet UEFI Specification Data Type requirements"); |
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/sys/contrib/edk2/Include/Base.h:778:24: note:
expanded from macro 'ALIGNOF'


Regards
oh

-- 

A FreeBSD user