Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 May 2026 19:42:57 +0200
From:      A FreeBSD User <freebsd@walstatt-de.de>
To:        Ahmad Khalifa <vexeduxr@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: 2fa4bdd7f9e9 - main - edk2: enable static asserts for *INT64 alignment
Message-ID:  <20260530194324.288bac33@thor.sb211.local>
In-Reply-To: <20260530190827.15ba6ffa@thor.sb211.local>
References:  <6a1a4f38.32b9d.5eb5f95e@gitrepo.freebsd.org> <20260530190827.15ba6ffa@thor.sb211.local>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRQheDybVktG5eW/1Kxzvs8OqokrwUCahshvAAKCRCxzvs8Oqok
r2pIAQCSJ3C3VKNjJe0B1qZc/QvQV45jSi1xU1Kf5MjkdIZNuQEAslSkqZymiwBh
wGzbKHcWTF3mLnKdhRaDGWCKlMwC7QA=
=2yMP
-----END PGP SIGNATURE-----
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20260530194324.288bac33>