aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2025-11-16 17:34:58 +0000
committerWarner Losh <imp@FreeBSD.org>2025-11-16 18:29:03 +0000
commit473786a131b0546e60fc8330f79e270e145e1bfd (patch)
treefbec2cb75121e8d735aff49896c03b0e68ee7556
parent84dc74b8274c77ea878837cb0e2dbd4c93b93052 (diff)
edk2: Tweak the tests for UEFI Specification Data Type requirements
On x86 these trigger for 32-bit builds. We only ever (will) do that for the 32-bit loader that starts a 64 bit kernel for ia32. For the moment, take the training wheels off, though most likely some compile flags need to be used to change the i386 ABI to force *int64_t alignment to 64 bits or some other horror as yet ill-concieved. Despite this assertion, the ia32 to boot 64-bit kernels loaders seem to work. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D53653
-rw-r--r--sys/contrib/edk2/Include/Base.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/contrib/edk2/Include/Base.h b/sys/contrib/edk2/Include/Base.h
index e3d03a9cc5ab..2b53e118b33f 100644
--- a/sys/contrib/edk2/Include/Base.h
+++ b/sys/contrib/edk2/Include/Base.h
@@ -841,8 +841,10 @@ 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");