From patchwork Fri Sep 12 21:27:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 70107 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0798CAC592 for ; Fri, 12 Sep 2025 21:27:33 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.247.1757712446438478330 for ; Fri, 12 Sep 2025 14:27:26 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 88D7D169E for ; Fri, 12 Sep 2025 14:27:17 -0700 (PDT) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A6BA13F694 for ; Fri, 12 Sep 2025 14:27:25 -0700 (PDT) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 1/3] arm/edk2-firmware: update to 202508 Date: Fri, 12 Sep 2025 17:27:23 -0400 Message-Id: <20250912212725.95249-1-jon.mason@arm.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 12 Sep 2025 21:27:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6707 Update edk2-firmware to the latest release and update edk2-basetools to match this update (as the previous update did not do this). Also, fix clang compile issues. This change should fix any clang compile issues since edk2-stable202108 (completely untested, but that is when the relevant variables were renamed). Signed-off-by: Jon Mason --- ...-native_202502.bb => edk2-basetools-native_202508.bb} | 2 +- meta-arm/recipes-bsp/uefi/edk2-firmware.inc | 3 ++- meta-arm/recipes-bsp/uefi/edk2-firmware_202505.bb | 9 --------- meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb | 6 ++++++ .../0002-Enforce-using-good-old-BFD-linker.patch | 8 ++++---- meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb | 8 +++++++- 6 files changed, 20 insertions(+), 16 deletions(-) rename meta-arm/recipes-bsp/uefi/{edk2-basetools-native_202502.bb => edk2-basetools-native_202508.bb} (93%) delete mode 100644 meta-arm/recipes-bsp/uefi/edk2-firmware_202505.bb create mode 100644 meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb 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 0c08fce758d7..3c47b91a9069 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 a1840b16ec7d..a5590d3b7274 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 89e532593991..000000000000 --- 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 000000000000..6a82835f054c --- /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 f73194d265b8..c05ef32479f3 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 2dd1de48c146..c037725ac66f 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}"