From patchwork Wed Jun 8 09:17:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 9000 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 8903DCCA47B for ; Wed, 8 Jun 2022 09:17:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.4467.1654679830312677474 for ; Wed, 08 Jun 2022 02:17:10 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@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 058191424; Wed, 8 Jun 2022 02:17:10 -0700 (PDT) Received: from oss-tx204.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5009B3F66F; Wed, 8 Jun 2022 02:17:09 -0700 (PDT) From: Ross Burton To: meta-arm@lists.yoctoproject.org Cc: nd@arm.com Subject: [PATCH 1/3] arm/trusted-firmware-m: remove compiler options Date: Wed, 8 Jun 2022 10:17:04 +0100 Message-Id: <20220608091706.109771-1-ross.burton@arm.com> X-Mailer: git-send-email 2.25.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 ; Wed, 08 Jun 2022 09:17:17 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/3483 The recipe supports the use of both Arm's binary GCC (aka GNU Arm Embedded Compiler, or gnu-rm) and binary Clang (aka Arm Compiler). However, armcompiler was never tested and doesn't work: 6.17 does a network operation on every call to check the license which fails with the network isolation in do_compile tasks, and 6.18 is behind a loginwall so we can't automatically fetch it in a recipe. Simplify the recipe to hardcode the use of gnu-rm, and remove the clang support. Signed-off-by: Ross Burton --- .../trusted-firmware-m/trusted-firmware-m_1.6.0.bb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.0.bb b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.0.bb index 3a5e57ea..45334e38 100644 --- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.0.bb +++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.0.bb @@ -48,6 +48,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" DEPENDS += "cmake-native \ ninja-native \ + gcc-arm-none-eabi-native \ python3-intelhex-native \ python3-jinja2-native \ python3-pyyaml-native \ @@ -68,14 +69,14 @@ python() { raise bb.parse.SkipRecipe("TFM_PLATFORM needs to be set") } -PACKAGECONFIG ??= "cc-gnuarm" -# What compiler to use -PACKAGECONFIG[cc-gnuarm] = "-DTFM_TOOLCHAIN_FILE=${S}/toolchain_GNUARM.cmake,,gcc-arm-none-eabi-native" -PACKAGECONFIG[cc-armclang] = "-DTFM_TOOLCHAIN_FILE=${S}/toolchain_ARMCLANG.cmake,,armcompiler-native" +PACKAGECONFIG ??= "" # Whether to integrate the test suite PACKAGECONFIG[test-secure] = "-DTEST_S=ON,-DTEST_S=OFF" PACKAGECONFIG[test-nonsecure] = "-DTEST_NS=ON,-DTEST_NS=OFF" +# Currently we only support using the Arm binary GCC +EXTRA_OECMAKE += "-DTFM_TOOLCHAIN_FILE=${S}/toolchain_GNUARM.cmake" + # Don't let FetchContent download more sources during do_configure EXTRA_OECMAKE += "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" From patchwork Wed Jun 8 09:17:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 8999 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 885BDC43334 for ; Wed, 8 Jun 2022 09:17:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.4340.1654679831134005667 for ; Wed, 08 Jun 2022 02:17:11 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@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 D1CE8143D; Wed, 8 Jun 2022 02:17:10 -0700 (PDT) Received: from oss-tx204.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 362E13F66F; Wed, 8 Jun 2022 02:17:10 -0700 (PDT) From: Ross Burton To: meta-arm@lists.yoctoproject.org Cc: nd@arm.com Subject: [PATCH 2/3] arm-toolchain/armcompiler: remove recipe Date: Wed, 8 Jun 2022 10:17:05 +0100 Message-Id: <20220608091706.109771-2-ross.burton@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220608091706.109771-1-ross.burton@arm.com> References: <20220608091706.109771-1-ross.burton@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 ; Wed, 08 Jun 2022 09:17:17 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/3484 As far as we know nobody is actually using the Arm Compiler recipe: 6.17 does a network operation on every call to check the license and this fails with the network isolation that do_compile has in kirkstone, and 6.18 is behind a loginwall so we cannot download it in a recipe. Unless we have actual users asking for a recipe, remove it from the layer to avoid confusion. Signed-off-by: Ross Burton --- meta-arm-toolchain/conf/layer.conf | 3 - .../armcompiler/no-uname.patch | 14 ----- .../armcompiler_6.17.bb | 55 ------------------- 3 files changed, 72 deletions(-) delete mode 100644 meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch delete mode 100644 meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.17.bb diff --git a/meta-arm-toolchain/conf/layer.conf b/meta-arm-toolchain/conf/layer.conf index dd54db82..3cb8b064 100644 --- a/meta-arm-toolchain/conf/layer.conf +++ b/meta-arm-toolchain/conf/layer.conf @@ -10,6 +10,3 @@ BBFILE_PRIORITY_arm-toolchain = "5" LAYERDEPENDS_arm-toolchain = "core" LAYERSERIES_COMPAT_arm-toolchain = "kirkstone" - -# These variables are used for armcompiler license -BB_BASEHASH_IGNORE_VARS:append = " ARM_TOOL_VARIANT ARMLMD_LICENSE_FILE LM_LICENSE_FILE" diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch deleted file mode 100644 index 7c958079..00000000 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler/no-uname.patch +++ /dev/null @@ -1,14 +0,0 @@ -The install script has an explicit check that the current host is x86-64, which -means we can't build armcompiler for x86-64 targets on arm64. Pad the -replacement host with whitespace so that the installer offset doesn't change. - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton - ---- a/install_x86_64.sh.orig 2021-07-06 14:11:47.632155370 +0100 -+++ b/install_x86_64.sh 2021-07-06 14:11:58.393163350 +0100 -@@ -470,3 +470,3 @@ - fi --host=`/bin/uname -m` -+host=x86_64 - echo --- Host target check...[${host}] diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.17.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.17.bb deleted file mode 100644 index 938dbc2c..00000000 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/armcompiler_6.17.bb +++ /dev/null @@ -1,55 +0,0 @@ -# SPDX-License-Identifier: MIT -# -# Copyright (c) 2020 Arm Limited -# - -require arm-binary-toolchain.inc - -SUMMARY = "Baremetal Armcompiler for Cortex-A, Cortex-R and Cortex-M processors" -HOMEPAGE = "https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6" - -# Certain features of armcompiler requires a license. For more information, please refer to the armcompiler user guide: -# https://developer.arm.com/tools-and-software/software-development-tools/license-management/resources/product-and-toolkit-configuration -# Usually set and export of these variables are required: -# ARM_TOOL_VARIANT, ARMLMD_LICENSE_FILE, LM_LICENSE_FILE - -LICENSE = "Armcompiler-License-agreement & Armcompiler-Redistributables & \ - Armcompiler-Supplementary-terms & Armcompiler-Third-party-licenses" - -NO_GENERIC_LICENSE[Armcompiler-License-agreement] = "license_terms/license_agreement.txt" -NO_GENERIC_LICENSE[Armcompiler-Redistributables] = "license_terms/redistributables.txt" -NO_GENERIC_LICENSE[Armcompiler-Supplementary-terms] = "license_terms/supplementary_terms.txt" -NO_GENERIC_LICENSE[Armcompiler-Third-party-licenses] = "license_terms/third_party_licenses.txt" - -# The Arm Compiler is under a EULA, read this at the homepage above and if you -# agree add 'armcompiler' to your LICENSE_FLAGS_ACCEPTED. -LICENSE_FLAGS = "armcompiler" - -LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=19faf912b534478d28f60dfa24659c17 \ - file://license_terms/redistributables.txt;md5=c22d8d2388d8e592f4b135f87bb243da \ - file://license_terms/supplementary_terms.txt;md5=e2443a4a7c520e79ebb603c8ba509076 \ - file://license_terms/third_party_licenses.txt;md5=53b42e7d31259bdc174b9c03651ed1b7 " - -ARMCLANG_VERSION = "DS500-BN-00026-r5p0-19rel0" - -COMPATIBLE_HOST = "x86_64.*-linux" - -SRC_URI = "https://developer.arm.com/-/media/Files/downloads/compiler/${ARMCLANG_VERSION}.tgz;subdir=${ARMCLANG_VERSION} \ - file://no-uname.patch" -SRC_URI[sha256sum] = "0ed2c3a2e416f07b892250fcbcca4b27353b046a030a433bf6dddc0db802885c" - -UPSTREAM_CHECK_URI = "https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/" -UPSTREAM_CHECK_REGEX = "Download Arm Compiler.*,(?P[\d\.]+)" - -S = "${WORKDIR}/${ARMCLANG_VERSION}" - -do_install() { - install -d ${D}${bindir} ${D}${libexecdir}/${BPN}/ - # Commercial license flag set, so recipe will only install when explicitly agreed to it already - ${S}/install_x86_64.sh --i-agree-to-the-contained-eula -d ${D}${libexecdir}/${BPN}/ --no-interactive - - # Symlink all executables into bindir - for f in ${D}${libexecdir}/${BPN}/bin/*; do - ln -rs $f ${D}${bindir}/$(basename $f) - done -} From patchwork Wed Jun 8 09:17:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 8998 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 89904C3F2D4 for ; Wed, 8 Jun 2022 09:17:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.4468.1654679832015191498 for ; Wed, 08 Jun 2022 02:17:12 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@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 AD7931424; Wed, 8 Jun 2022 02:17:11 -0700 (PDT) Received: from oss-tx204.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0EA353F66F; Wed, 8 Jun 2022 02:17:10 -0700 (PDT) From: Ross Burton To: meta-arm@lists.yoctoproject.org Cc: nd@arm.com Subject: [PATCH 3/3] CI: remove armcompiler references Date: Wed, 8 Jun 2022 10:17:06 +0100 Message-Id: <20220608091706.109771-3-ross.burton@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220608091706.109771-1-ross.burton@arm.com> References: <20220608091706.109771-1-ross.burton@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 ; Wed, 08 Jun 2022 09:17:17 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/3485 Arm Compiler has been removed, so remove it from the CI. Signed-off-by: Ross Burton --- ci/base.yml | 2 +- ci/toolchains.yml | 2 -- scripts/machine-summary.py | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ci/base.yml b/ci/base.yml index 4c997463..670d8986 100644 --- a/ci/base.yml +++ b/ci/base.yml @@ -30,7 +30,7 @@ local_conf_header: CONF_VERSION = "2" BB_NUMBER_THREADS = "16" PARALLEL_MAKE = "-j16" - LICENSE_FLAGS_ACCEPTED += "armcompiler Arm-FVP-EULA" + LICENSE_FLAGS_ACCEPTED += "Arm-FVP-EULA" setup: | PACKAGE_CLASSES = "package_ipk" PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl" diff --git a/ci/toolchains.yml b/ci/toolchains.yml index d2dc2961..080d8d97 100644 --- a/ci/toolchains.yml +++ b/ci/toolchains.yml @@ -11,9 +11,7 @@ local_conf_header: toolchains: | SDKMACHINE = "x86_64" -# No target armcompiler as currently there is no arm64 build target: - - nativesdk-armcompiler - gcc-aarch64-none-elf - nativesdk-gcc-aarch64-none-elf - gcc-arm-none-eabi diff --git a/scripts/machine-summary.py b/scripts/machine-summary.py index 47d8ff34..c2b43dae 100755 --- a/scripts/machine-summary.py +++ b/scripts/machine-summary.py @@ -145,7 +145,6 @@ recipes = ("virtual/kernel", "edk2-firmware", "u-boot", "optee-os", - "armcompiler-native", "gcc-aarch64-none-elf-native", "gcc-arm-none-eabi-native")