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? Also, can you tell which target this failed on? Thanks. > > > Regards > oh
