Page MenuHomeFreeBSD

stand: compile ia32 EFI loader with -malign-double
Needs ReviewPublic

Authored by vexeduxr on Thu, Feb 19, 9:39 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Feb 26, 2:34 PM
Unknown Object (File)
Tue, Feb 24, 8:33 PM
Unknown Object (File)
Mon, Feb 23, 8:45 AM
Unknown Object (File)
Mon, Feb 23, 6:54 AM
Unknown Object (File)
Fri, Feb 20, 4:12 PM
Unknown Object (File)
Fri, Feb 20, 4:09 PM
Unknown Object (File)
Fri, Feb 20, 3:08 PM
Subscribers

Details

Summary

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.

Unlike the old Intel EFI toolkit, the EDK2 headers expect ia32 builds to
use -malign-double to achive this.

Make EFI versions of libsa32, liblua32, and ficl32. With the difference
being that they are compiled with -malign-double.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 70817
Build 67700: arc lint + arc unit

Event Timeline

stand/efi/Makefile.inc
13

I think this is needed only for the 32-bit build. It would cause problems for the 64-bit build, no?

Oh, I'd be tempted to call these lib*32efi as well.

stand/efi/Makefile.inc
13

It should be a nop for the 64-bit build. I'll put it under DO32

Only pass -malign-double for the 32-bit build.
Suffix 32-bit EFI libraries with efi