Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 May 2026 12:01:04 +0200
From:      A FreeBSD User <freebsd@walstatt-de.de>
To:        Ahmad Khalifa <vexeduxr@freebsd.org>
Cc:        Kevin Bowling <kevin.bowling@kev009.com>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 2fa4bdd7f9e9 - main - edk2: enable static asserts for *INT64 alignment
Message-ID:  <20260531120131.387a9bb8@thor.sb211.local>
In-Reply-To: <CAMLT6uBhvWuRZOfCTq0S71oUgicFH9Wb4kZTqU6QSsyvoXbugg@mail.gmail.com>
References:  <6a1a4f38.32b9d.5eb5f95e@gitrepo.freebsd.org> <20260530190827.15ba6ffa@thor.sb211.local> <CAMLT6uALWeur8d1ZYR=tA1c_SLQqc=K8nUFLuYrg=_vHOArpBw@mail.gmail.com> <CAK7dMtB55JcSCr%2BMB=SAbiSq3A-Aow9wyMamreopNBqab8oS4A@mail.gmail.com> <CAMLT6uBhvWuRZOfCTq0S71oUgicFH9Wb4kZTqU6QSsyvoXbugg@mail.gmail.com>

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

[-- Attachment #1 --]
Am Tage des Herren Sat, 30 May 2026 17:11:38 -0700
Ahmad Khalifa <vexeduxr@freebsd.org> 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 <vexeduxr@freebsd.org> 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 <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'  
> >>
> >> 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

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

iHUEARYKAB0WIQRQheDybVktG5eW/1Kxzvs8OqokrwUCahwG+wAKCRCxzvs8Oqok
ryGQAQDohJJrTO62P64HyIrhmrEO8qRftg7mUJrl8VrxnvB2wwD/dgthQJHZOPC8
0IU14h+f70B4MjEVfsHFulu8BkMouwA=
=C+pr
-----END PGP SIGNATURE-----
home | help

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