From patchwork Mon Oct 20 15:09:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 72722 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 E9690CCD199 for ; Mon, 20 Oct 2025 15:09:27 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.21443.1760972967103676691 for ; Mon, 20 Oct 2025 08:09:27 -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 930621063 for ; Mon, 20 Oct 2025 08:09:18 -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 15FFF3F66E for ; Mon, 20 Oct 2025 08:09:25 -0700 (PDT) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 1/5] CI: remove meta-clang Date: Mon, 20 Oct 2025 16:09:20 +0100 Message-ID: <20251020150924.84223-1-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 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 ; Mon, 20 Oct 2025 15:09:27 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6739 Now that clang is in core, we don't need to use meta-clang anymore. Also, use PREFERRED_TOOLCHAIN_TARGET to specify the toolchain to use. Signed-off-by: Jon Mason --- ci/clang.yml | 6 +----- ci/gcc.yml | 4 ++-- ci/update-repos | 1 - 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/ci/clang.yml b/ci/clang.yml index 402292a6b86d..dfe0c36616d0 100644 --- a/ci/clang.yml +++ b/ci/clang.yml @@ -3,10 +3,6 @@ header: version: 14 -repos: - meta-clang: - url: https://github.com/kraj/meta-clang - local_conf_header: toolchain: | - TOOLCHAIN = "clang" + PREFERRED_TOOLCHAIN_TARGET = "clang" diff --git a/ci/gcc.yml b/ci/gcc.yml index 1f368c24dcb1..61e1d0e17791 100644 --- a/ci/gcc.yml +++ b/ci/gcc.yml @@ -3,7 +3,7 @@ header: version: 14 -#NOTE: This is the default for poky. This is only being added for completeness/clarity +#NOTE: This is the default. This is only being added for completeness/clarity local_conf_header: toolchain: | - TOOLCHAIN = "gcc" + PREFERRED_TOOLCHAIN_TARGET = "gcc" diff --git a/ci/update-repos b/ci/update-repos index c44246cc019c..e70ed0d963c6 100755 --- a/ci/update-repos +++ b/ci/update-repos @@ -23,7 +23,6 @@ repositories = ( "https://git.yoctoproject.org/poky", "https://git.openembedded.org/meta-openembedded", "https://git.yoctoproject.org/meta-virtualization", - "https://github.com/kraj/meta-clang", ) if __name__ == "__main__": From patchwork Mon Oct 20 15:09:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 72721 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 EDB35CCD193 for ; Mon, 20 Oct 2025 15:09:27 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.21445.1760972967403815086 for ; Mon, 20 Oct 2025 08:09:27 -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 2F3B416A3 for ; Mon, 20 Oct 2025 08:09:19 -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 B1D4B3F66E for ; Mon, 20 Oct 2025 08:09:26 -0700 (PDT) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 2/5] arm/trusted-firmware-a: remove forcing of gcc for qemuarm-secureboot Date: Mon, 20 Oct 2025 16:09:21 +0100 Message-ID: <20251020150924.84223-2-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251020150924.84223-1-jon.mason@arm.com> References: <20251020150924.84223-1-jon.mason@arm.com> 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 ; Mon, 20 Oct 2025 15:09:27 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6740 clang is now working for qemuarm-secureboot. Remove the forcing of gcc and clean-up a white space issue. Signed-off-by: Jon Mason --- .../trusted-firmware-a/trusted-firmware-a_%.bbappend | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend index d996d83beb1f..e80279d63bae 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend @@ -1,10 +1,6 @@ COMPATIBLE_MACHINE:qemuarm64-secureboot = "qemuarm64-secureboot" COMPATIBLE_MACHINE:qemuarm-secureboot = "qemuarm-secureboot" -#FIXME - clang fails to build tfa for qemuarm-secureboot, and possibly other -# arm/aarch32. This is a known testing hole in TF-A. -TOOLCHAIN:qemuarm-secureboot = "gcc" - # Enable passing TOS_FW_CONFIG from FIP package to Trusted OS. FILESEXTRAPATHS:prepend:qemuarm64-secureboot := "${THISDIR}/files:" SRC_URI:append:qemuarm64-secureboot = " \ @@ -53,7 +49,7 @@ EXTRA_OEMAKE:append:arm:qemuall = " \ # When using OP-TEE SPMC specify the SPMC manifest file. EXTRA_OEMAKE:append:qemuarm64-secureboot = "${@bb.utils.contains('MACHINE_FEATURES', 'arm-ffa', \ 'QEMU_TOS_FW_CONFIG_DTS=${S}/plat/qemu/fdts/optee_spmc_manifest.dts', '', d)}" - + do_compile:append:qemuarm64-secureboot() { # Create a secure flash image for booting AArch64 Qemu. See: # https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tree/docs/plat/qemu.rst From patchwork Mon Oct 20 15:09:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 72723 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 D534ECCD1A4 for ; Mon, 20 Oct 2025 15:09:37 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.21330.1760972967966911203 for ; Mon, 20 Oct 2025 08:09:28 -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 C10B51063 for ; Mon, 20 Oct 2025 08:09:19 -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 4F4593F66E for ; Mon, 20 Oct 2025 08:09:27 -0700 (PDT) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 3/5] arm/optee-ftpm: enable clang compilation Date: Mon, 20 Oct 2025 16:09:22 +0100 Message-ID: <20251020150924.84223-3-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251020150924.84223-1-jon.mason@arm.com> References: <20251020150924.84223-1-jon.mason@arm.com> 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 ; Mon, 20 Oct 2025 15:09:37 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6741 Remove the forcing of GCC in the recipe, and make the changes necessary to get clang working. Signed-off-by: Jon Mason --- meta-arm/recipes-security/optee-ftpm/optee-ftpm_4.7.0.bb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta-arm/recipes-security/optee-ftpm/optee-ftpm_4.7.0.bb b/meta-arm/recipes-security/optee-ftpm/optee-ftpm_4.7.0.bb index 756aeec6d6a1..9164f31bbc91 100644 --- a/meta-arm/recipes-security/optee-ftpm/optee-ftpm_4.7.0.bb +++ b/meta-arm/recipes-security/optee-ftpm/optee-ftpm_4.7.0.bb @@ -8,16 +8,14 @@ COMPATIBLE_MACHINE:qemuarm64 = "qemuarm64" COMPATIBLE_MACHINE:qemuarm64-secureboot = "qemuarm64" COMPATIBLE_MACHINE:qemuarm-secureboot = "qemuarm" -#FIXME - doesn't currently work with clang -TOOLCHAIN = "gcc" - inherit deploy python3native LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=5a3925ece0806073ae9ebbb08ff6f11e" LIC_FILES_CHKSUM += "file://optee-ta/LICENSE;md5=5a3925ece0806073ae9ebbb08ff6f11e" -DEPENDS = "python3-pyelftools-native optee-os-tadevkit python3-cryptography-native " +DEPENDS = "python3-pyelftools-native optee-os-tadevkit python3-cryptography-native" +DEPENDS:append:toolchain-clang = " lld-native" FTPM_UUID = "bc50d971-d4c9-42c4-82cb-343fb7f37896" @@ -49,6 +47,7 @@ TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}" TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta" EXTRA_OEMAKE += '\ + COMPILER=${TOOLCHAIN} \ TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \ CROSS_COMPILE=${TARGET_PREFIX} \ CFG_MS_TPM_20_REF="${S}" \ @@ -59,6 +58,8 @@ EXTRA_OEMAKE:append:aarch64:qemuall = "\ CFG_ARM64_ta_arm64=y \ " +CFLAGS:append:toolchain-clang = " -Wno-unknown-warning-option" + # python3-cryptography needs the legacy provider, so set OPENSSL_MODULES to the # right path until this is relocated automatically. export OPENSSL_MODULES = "${STAGING_LIBDIR_NATIVE}/ossl-modules" From patchwork Mon Oct 20 15:09: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: 72725 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 E2EEFCCD199 for ; Mon, 20 Oct 2025 15:09:37 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.21332.1760972968669619370 for ; Mon, 20 Oct 2025 08:09:28 -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 689711063 for ; Mon, 20 Oct 2025 08:09:20 -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 E16F43F66E for ; Mon, 20 Oct 2025 08:09:27 -0700 (PDT) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 4/5] arm/edk2-firmware: move the gcc toolchain force to the versioned recipe Date: Mon, 20 Oct 2025 16:09:23 +0100 Message-ID: <20251020150924.84223-4-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251020150924.84223-1-jon.mason@arm.com> References: <20251020150924.84223-1-jon.mason@arm.com> 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 ; Mon, 20 Oct 2025 15:09:37 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6742 Hopefully this issue can be fixed in a newer release. Move the toolchain forcing to the versioned so that it can be tracked easier. Signed-off-by: Jon Mason --- meta-arm/recipes-bsp/uefi/edk2-firmware.inc | 3 --- meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb | 5 ++++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc index a5590d3b7274..8b6f153a836c 100644 --- a/meta-arm/recipes-bsp/uefi/edk2-firmware.inc +++ b/meta-arm/recipes-bsp/uefi/edk2-firmware.inc @@ -82,9 +82,6 @@ EDK_COMPILER:toolchain-clang = "CLANGDWARF" export CLANG38_AARCH64_PREFIX = "${TARGET_PREFIX}" export CLANG38_ARM_PREFIX = "${TARGET_PREFIX}" -#FIXME - arm32 doesn't work with clang due to a linker issue -TOOLCHAIN:arm = "gcc" - do_configure:prepend() { sed -i -e "s#-target ${HOST_ARCH}-linux-gnu.*#-target ${HOST_SYS}#" ${S}/BaseTools/Conf/tools_def.template } diff --git a/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb b/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb index 6a82835f054c..7d766d594d85 100644 --- a/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb +++ b/meta-arm/recipes-bsp/uefi/edk2-firmware_202508.bb @@ -3,4 +3,7 @@ require recipes-bsp/uefi/edk2-firmware.inc SRCREV_edk2 ?= "d46aa46c8361194521391aa581593e556c707c6e" SRCREV_edk2-platforms ?= "d82aa92c1d360c1b53ccad4dc45bdd8164a560d5" -SRC_URI += " file://edk2_fix_epoch.patch" +SRC_URI += "file://edk2_fix_epoch.patch" + +#FIXME - arm32 doesn't work with clang due to a linker issue +TOOLCHAIN:arm = "gcc" From patchwork Mon Oct 20 15:09:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 72724 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 D44C9CCD193 for ; Mon, 20 Oct 2025 15:09:37 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.21447.1760972969320061924 for ; Mon, 20 Oct 2025 08:09:29 -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 0F8DC1063 for ; Mon, 20 Oct 2025 08:09:21 -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 899613F66E for ; Mon, 20 Oct 2025 08:09:28 -0700 (PDT) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 5/5] arm/sgi575: force gcc for tf-a Date: Mon, 20 Oct 2025 16:09:24 +0100 Message-ID: <20251020150924.84223-5-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251020150924.84223-1-jon.mason@arm.com> References: <20251020150924.84223-1-jon.mason@arm.com> 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 ; Mon, 20 Oct 2025 15:09:37 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6743 trusted-firmware a has a compile error when building with clang. Since this platform is EOL'ed and we're not currently building this platform with clang in CI, the best option is to force GCC for it. Signed-off-by: Jon Mason --- .../trusted-firmware-a/trusted-firmware-a-sgi575.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc index 01cc67bb32e3..c1f16d5499e8 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc @@ -17,3 +17,10 @@ EXTRA_OEMAKE += "TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rs # the provided cot-dt2c. EXTRA_OEMAKE += "POETRY=''" DEPENDS += "cot-dt2c-native" + +# When compiling tf-a with clang, multiple errors are being seen in the +# ASM files: +# error: instruction requires: fp-armv8 +# Given that this is platform is EOLed, forcing it to use GCC and not +# reporting upstream +TOOLCHAIN = "gcc"