The branch main has been updated by vexeduxr:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=a60e7e6ff0ec1fdd66c2568ac6c03b843dbb3c9d

commit a60e7e6ff0ec1fdd66c2568ac6c03b843dbb3c9d
Author:     Ahmad Khalifa <[email protected]>
AuthorDate: 2026-02-15 12:23:26 +0000
Commit:     Ahmad Khalifa <[email protected]>
CommitDate: 2026-02-15 13:30:06 +0000

    stand: compile ia32 EFI loader with -malign-double
    
    The UEFI spec says:
    > Structures are aligned on boundaries equal to the largest internal
    > datum of the structure and internal data are implicitly padded to
    > achieve natural alignment.
    
    By default, structs containing members of type "long long" have 4 byte
    alignment on i386. This caused some EFI structures to be subtly wrong.
    
    Fix this by compiling the ia32 EFI loader with -malign-double, which
    bumps the alignment up to 8 if such members are present.
    
    MFC after:      3 days
---
 stand/efi/loader/arch/i386/Makefile.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/stand/efi/loader/arch/i386/Makefile.inc 
b/stand/efi/loader/arch/i386/Makefile.inc
index e27b553c6bab..89fcb2a3c093 100644
--- a/stand/efi/loader/arch/i386/Makefile.inc
+++ b/stand/efi/loader/arch/i386/Makefile.inc
@@ -7,3 +7,5 @@ SRCS+=  amd64_tramp.S \
 SRCS+= nullconsole.c \
        comconsole.c \
        spinconsole.c
+
+CFLAGS+=       -malign-double

Reply via email to