All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] arm/trusted-firmware-m: remove compiler options
@ 2022-06-08  9:17 Ross Burton
  2022-06-08  9:17 ` [PATCH 2/3] arm-toolchain/armcompiler: remove recipe Ross Burton
  2022-06-08  9:17 ` [PATCH 3/3] CI: remove armcompiler references Ross Burton
  0 siblings, 2 replies; 3+ messages in thread
From: Ross Burton @ 2022-06-08  9:17 UTC (permalink / raw)
  To: meta-arm; +Cc: nd

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 <ross.burton@arm.com>
---
 .../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"
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/3] arm-toolchain/armcompiler: remove recipe
  2022-06-08  9:17 [PATCH 1/3] arm/trusted-firmware-m: remove compiler options Ross Burton
@ 2022-06-08  9:17 ` Ross Burton
  2022-06-08  9:17 ` [PATCH 3/3] CI: remove armcompiler references Ross Burton
  1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2022-06-08  9:17 UTC (permalink / raw)
  To: meta-arm; +Cc: nd

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 <ross.burton@arm.com>
---
 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 <ross.burton@arm.com>
-
---- 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<pver>[\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
-}
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 3/3] CI: remove armcompiler references
  2022-06-08  9:17 [PATCH 1/3] arm/trusted-firmware-m: remove compiler options Ross Burton
  2022-06-08  9:17 ` [PATCH 2/3] arm-toolchain/armcompiler: remove recipe Ross Burton
@ 2022-06-08  9:17 ` Ross Burton
  1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2022-06-08  9:17 UTC (permalink / raw)
  To: meta-arm; +Cc: nd

Arm Compiler has been removed, so remove it from the CI.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 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")
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-06-08  9:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08  9:17 [PATCH 1/3] arm/trusted-firmware-m: remove compiler options Ross Burton
2022-06-08  9:17 ` [PATCH 2/3] arm-toolchain/armcompiler: remove recipe Ross Burton
2022-06-08  9:17 ` [PATCH 3/3] CI: remove armcompiler references Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.