@@ -17,6 +17,7 @@ SRC_URI = "\
${EDK2_SRC_URI};name=edk2;destsuffix=edk2;nobranch=1 \
${EDK2_PLATFORMS_SRC_URI};name=edk2-platforms;destsuffix=edk2/edk2-platforms;nobranch=1 \
file://0001-Fix-VLA-parameter-warning.patch \
+ file://unaligned.patch \
"
SRCREV_FORMAT = "edk2_edk2-platforms"
new file mode 100644
@@ -0,0 +1,27 @@
+Latest clang is causing build failures because -Werror is used:
+
+ edk2/MdeModulePkg/Include/Guid/ExtendedFirmwarePerformance.h:78:47:
+ error: field Guid within 'FPDT_GUID_EVENT_RECORD' is less aligned than 'EFI_GUID'
+ and is usually due to 'FPDT_GUID_EVENT_RECORD' being packed, which can lead to
+ unaligned accesses [-Werror,-Wunaligned-access]
+
+This has been reported upstream[1] so until this is resolved, ignore the warnings.
+
+[1] https://edk2.groups.io/g/devel/message/86838
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
+index 2e6b382ab6..75bfbc5ae6 100755
+--- a/BaseTools/Conf/tools_def.template
++++ b/BaseTools/Conf/tools_def.template
+@@ -2566,7 +2566,7 @@ DEFINE CLANG38_X64_PREFIX = ENV(CLANG38_BIN)
+ DEFINE CLANG38_IA32_TARGET = -target i686-pc-linux-gnu
+ DEFINE CLANG38_X64_TARGET = -target x86_64-pc-linux-gnu
+
+-DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option
++DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-error=unaligned-access
+ DEFINE CLANG38_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
+
+ ###########################