diff --git a/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202502.bb b/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202508.bb similarity index 93% rename from meta-arm/recipes-bsp/uefi/edk2-basetools-native_202502.bb rename to meta-arm/recipes-bsp/uefi/edk2-basetools-native_202508.bb index 0c08fce7..3c47b91a 100644 --- a/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202502.bb +++ b/meta-arm/recipes-bsp/uefi/edk2-basetools-native_202508.bb @@ -10,7 +10,7 @@ LICENSE = "BSD-2-Clause-Patent" SRC_URI = "git://github.com/tianocore/edk2.git;branch=master;protocol=https" LIC_FILES_CHKSUM = "file://License.txt;md5=2b415520383f7964e96700ae12b4570a" -SRCREV = "b158dad150bf02879668f72ce306445250838201" +SRCREV = "d46aa46c8361194521391aa581593e556c707c6e" UPSTREAM_CHECK_GITTAGREGEX = "^edk2-stable(?P\d+)$" diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc index a1840b16..a5590d3b 100644 --- a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc +++ b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc @@ -54,6 +54,7 @@ EDK2_BUILD_MODE ?= "${@bb.utils.contains('EDK2_BUILD_RELEASE', '1', 'RELEASE', ' # Baremetal, no need for a C library DEPENDS:remove = "virtual/${TARGET_PREFIX}compilerlibs virtual/libc" DEPENDS += "util-linux-native iasl-native" +DEPENDS:append:toolchain-clang = " lld-native" inherit deploy @@ -77,7 +78,7 @@ EDK_COMPILER ?= "GCC5" export GCC5_AARCH64_PREFIX = "${TARGET_PREFIX}" export GCC5_ARM_PREFIX = "${TARGET_PREFIX}" -EDK_COMPILER:toolchain-clang = "CLANG38" +EDK_COMPILER:toolchain-clang = "CLANGDWARF" export CLANG38_AARCH64_PREFIX = "${TARGET_PREFIX}" export CLANG38_ARM_PREFIX = "${TARGET_PREFIX}" diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware_202505.bb b/meta-arm/recipes-bsp/uefi/edk2-firmware_202505.bb deleted file mode 100644 index 89e53259..00000000 --- a/meta-arm/recipes-bsp/uefi/edk2-firmware_202505.bb +++ /dev/null @@ -1,9 +0,0 @@ -require recipes-bsp/uefi/edk2-firmware.inc - -SRCREV_edk2 ?= "6951dfe7d59d144a3a980bd7eda699db2d8554ac" -SRCREV_edk2-platforms ?= "564f6509e89f45b25d97db2772ca9b3bec8b3ed5" - -# FIXME - clang is having issues with antlr -TOOLCHAIN:aarch64 = "gcc" - -SRC_URI += " file://edk2_fix_epoch.patch" diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb b/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb new file mode 100644 index 00000000..6a82835f --- /dev/null +++ b/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb @@ -0,0 +1,6 @@ +require recipes-bsp/uefi/edk2-firmware.inc + +SRCREV_edk2 ?= "d46aa46c8361194521391aa581593e556c707c6e" +SRCREV_edk2-platforms ?= "d82aa92c1d360c1b53ccad4dc45bdd8164a560d5" + +SRC_URI += " file://edk2_fix_epoch.patch" diff --git a/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch b/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch index f73194d2..c05ef324 100644 --- a/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch +++ b/meta-arm/recipes-bsp/uefi/sbsa-acs/0002-Enforce-using-good-old-BFD-linker.patch @@ -1,4 +1,4 @@ -From 76665f48f5a4672d8c8bed3c57822307193b2b72 Mon Sep 17 00:00:00 2001 +From da0d96f0dc5fceafa34a7cc7d4d05f6f89336a87 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 7 Apr 2021 00:16:07 -0400 Subject: [PATCH] Enforce using good old BFD linker @@ -25,7 +25,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template -index ffeb22742142..ba24113d216c 100755 +index 0caa1c90018f..0b62fdc9ee72 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -928,7 +928,7 @@ DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access @@ -34,6 +34,6 @@ index ffeb22742142..ba24113d216c 100755 DEFINE GCC_RISCV64_CC_XIPFLAGS = -mstrict-align -mgeneral-regs-only -DEFINE GCC_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds +DEFINE GCC_DLINK2_FLAGS_COMMON = -fuse-ld=bfd -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds - DEFINE GCC_IA32_X64_DLINK_COMMON = -nostdlib --pie --fatal-warnings -z,noexecstack --gc-sections - DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map -Wl,--fatal-warnings -Wl,-z,noexecstack + DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_LOONGARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map + DEFINE GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 -Wl,--pic-veneer diff --git a/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb b/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb index 2dd1de48..c037725a 100644 --- a/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb +++ b/meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb @@ -1,4 +1,4 @@ -require recipes-bsp/uefi/edk2-firmware_202505.bb +require recipes-bsp/uefi/edk2-firmware_202508.bb PROVIDES:remove = "virtual/bootloader" LICENSE += "& Apache-2.0" @@ -21,6 +21,12 @@ SRCREV_libc = "caea801aac338aa60f85a7c10148ca0b4440fff3" UPSTREAM_CHECK_URI = "https://github.com/ARM-software/sbsa-acs/releases" +# FIXME - some weirdness here with clang. Looks like there are some +# hardcoded assembly instructions which need feature enablement that +# magically happens in gcc, but needs explicit enablement in clang. +# Hardcode GCC until this can be bottomed out. +TOOLCHAIN:aarch64 = "gcc" + COMPATIBLE_HOST = "aarch64.*-linux" COMPATIBLE_MACHINE = "" PACKAGE_ARCH = "${TUNE_PKGARCH}"