summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2017-07-28 16:40:44 +0200
committerMichael Brown2017-07-28 16:46:06 +0200
commit8866c919f86ad2f00ff63192fa23cd19f749f90f (patch)
tree3711512fdbbe335734bb6335caa0a4acfc8003d1 /src/arch
parent[build] Fix use of inline assembly on GCC 4.8 ARM64 builds (diff)
downloadipxe-8866c919f86ad2f00ff63192fa23cd19f749f90f.tar.gz
ipxe-8866c919f86ad2f00ff63192fa23cd19f749f90f.tar.xz
ipxe-8866c919f86ad2f00ff63192fa23cd19f749f90f.zip
[build] Fix ARM32 EFI builds with current EDK2 headers
EDK2 commit 6440385 ("MdePkg/Include: Add enumeration size checks to Base.h") enforced the UEFI specification mandate that enums should always be 32 bits. This revealed a latent bug in iPXE, which does not build with -fno-short-enums. Fix by adding -fno-short-enums to CFLAGS for ARM32 EFI builds. Reported-by: Benjamin S. Allen <bsallen@alcf.anl.gov> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm32/Makefile.efi4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/arm32/Makefile.efi b/src/arch/arm32/Makefile.efi
index a06354f1..e139a055 100644
--- a/src/arch/arm32/Makefile.efi
+++ b/src/arch/arm32/Makefile.efi
@@ -1,5 +1,9 @@
# -*- makefile -*- : Force emacs to use Makefile mode
+# UEFI requires that enums are always 32 bits
+#
+CFLAGS += -fno-short-enums
+
# Specify EFI image builder
#
ELF2EFI = $(ELF2EFI32)