Am Tage des Herren Sat, 30 May 2026 17:11:38 -0700 Ahmad Khalifa <[email protected]> schrieb:
> On Sun May 31, 2026 at 1:54 AM +0300, Kevin Bowling wrote: > > On Sat, May 30, 2026 at 2:50 PM Ahmad Khalifa <[email protected]> wrote: > > > >> > >> On Sat May 30, 2026 at 8:09 PM +0300, A FreeBSD User wrote: > >> > Am Tage des Herren Sat, 30 May 2026 02:45:12 +0000 > >> > Ahmad Khalifa <[email protected]> schrieb: > >> > > >> >> The branch main has been updated by vexeduxr: > >> >> > >> >> URL: > >> >> https://cgit.FreeBSD.org/src/commit/?id=2fa4bdd7f9e99698a6652db405c3165fdcd41c1d > >> >> > >> >> commit 2fa4bdd7f9e99698a6652db405c3165fdcd41c1d > >> >> Author: Ahmad Khalifa <[email protected]> > >> >> AuthorDate: 2026-05-30 02:40:58 +0000 > >> >> Commit: Ahmad Khalifa <[email protected]> > >> >> 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' > >> > >> I can't reproduce with the defaults, do you have any loader related > >> build options changed? > > > > Maybe a transient stale rebuild artifact, I was able to get through it > > with -j1 somehow. > > Hmm, after building this a few times I do run into a race condition > where the interpreter isn't done building before loader_ia32.efi. Is > that what you ran into? > > Looks like the SUBDIR entries need to be re-ordered, that's a different > issue from the one above though. > > > > >> Also, can you tell which target this failed on? > >> > >> Thanks. > >> > >> > > >> > > >> > Regards > >> > oh > >> > Architecture is amd64. Most prominent changes/options in /etc/src.conf amongst non-debug flags are in my case: WITH_BEARSSL= YES WITHOUT_LOADER_PXEBOOT= YES LOADERSIZE?= 555000 WITH_BHYVE_SNAPSHOT= YES I had to mess with the loadersize in the past since loader didn't build anymore due to some bytes of space missing ... -- A FreeBSD user
pgpdj2Qa68a01.pgp
Description: OpenPGP digital signature
