From 6b20ffb4cbcd9109117c923059184880ae336ff6 Mon Sep 17 00:00:00 2001 From: Titouan Christophe Date: Fri, 29 Aug 2025 13:28:17 +0200 Subject: [PATCH] toolchain/external: remove Linaro arm toolchain This toolchain is more than 7 years old now, and not maintained anymore. Let's therefore remove it from Buildroot. There are still some alternatives in-tree, such as ARM and Bootlin toolchains Signed-off-by: Titouan Christophe [Romain: - rename TestExternalToolchainLinaroArm to TestExternalToolchainArmGnu - update toolchain prefix arm-linux-gnueabihf to arm-none-linux-gnueabihf - replace BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM by BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE since the ARM toolchain can't be enabled due to missing NEON support ] Signed-off-by: Romain Naour --- Config.in.legacy | 7 +++++ .../autobuild/linaro-arm.config | 5 ---- .../autobuild/toolchain-configs.csv | 1 - .../testing/tests/package/test_gst1_python.py | 3 ++- .../testing/tests/toolchain/test_external.py | 6 ++--- toolchain/toolchain-external/Config.in | 2 -- .../toolchain-external-linaro-arm/Config.in | 27 ------------------- .../Config.in.options | 9 ------- .../toolchain-external-linaro-arm.hash | 3 --- .../toolchain-external-linaro-arm.mk | 16 ----------- 10 files changed, 12 insertions(+), 67 deletions(-) delete mode 100644 support/config-fragments/autobuild/linaro-arm.config delete mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in delete mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options delete mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash delete mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk diff --git a/Config.in.legacy b/Config.in.legacy index 6a43c86c9c..6867f129d1 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -146,6 +146,13 @@ endif comment "Legacy options removed in 2025.11" +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM + bool "Linaro ARM 2018.05 external toolchain is deprecated" + select BR2_LEGACY + help + Linaro ARM 2018.05 is no longer maintained and has been + removed from Buildroot. + config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE bool "Linaro AArch64 BE 2018.05 external toolchain is deprecated" select BR2_LEGACY diff --git a/support/config-fragments/autobuild/linaro-arm.config b/support/config-fragments/autobuild/linaro-arm.config deleted file mode 100644 index d72e19b3ad..0000000000 --- a/support/config-fragments/autobuild/linaro-arm.config +++ /dev/null @@ -1,5 +0,0 @@ -BR2_arm=y -BR2_cortex_a8=y -BR2_ARM_EABIHF=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv index 87c58946bc..a559221b99 100644 --- a/support/config-fragments/autobuild/toolchain-configs.csv +++ b/support/config-fragments/autobuild/toolchain-configs.csv @@ -61,4 +61,3 @@ support/config-fragments/autobuild/br-powerpc-internal-full.config,any support/config-fragments/autobuild/br-riscv64-full-internal.config,any support/config-fragments/autobuild/br-s390x-z13-internal-glibc.config,any support/config-fragments/autobuild/br-xtensa-full-internal.config,any -support/config-fragments/autobuild/linaro-arm.config,x86 diff --git a/support/testing/tests/package/test_gst1_python.py b/support/testing/tests/package/test_gst1_python.py index caae3e6b2d..e5fe71b7d9 100644 --- a/support/testing/tests/package/test_gst1_python.py +++ b/support/testing/tests/package/test_gst1_python.py @@ -10,7 +10,8 @@ class TestGst1Python(TestPythonPackageBase): BR2_cortex_a9=y BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y BR2_PACKAGE_GSTREAMER1=y BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y BR2_PACKAGE_GST1_PLUGINS_BAD=y diff --git a/support/testing/tests/toolchain/test_external.py b/support/testing/tests/toolchain/test_external.py index 27dfd68500..aed3664a02 100644 --- a/support/testing/tests/toolchain/test_external.py +++ b/support/testing/tests/toolchain/test_external.py @@ -37,15 +37,15 @@ class TestExternalToolchain(infra.basetest.BRTest): self.assertTrue(os.path.exists(interp_path)) -class TestExternalToolchainLinaroArm(TestExternalToolchain): +class TestExternalToolchainArmGnu(TestExternalToolchain): config = BASIC_CONFIG + \ """ BR2_arm=y BR2_cortex_a8=y BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y + BR2_TOOLCHAIN_EXTERNAL_ARM_ARM=y """ - toolchain_prefix = "arm-linux-gnueabihf" + toolchain_prefix = "arm-none-linux-gnueabihf" def test_run(self): TestExternalToolchain.common_check(self) diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 007d91d451..2599015d4b 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -19,7 +19,6 @@ source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in" # ARM (use ARM toolchain by default) source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in" -source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" @@ -111,7 +110,6 @@ source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.o # ARM source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in deleted file mode 100644 index 8b3b4c844e..0000000000 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in +++ /dev/null @@ -1,27 +0,0 @@ -comment "Linaro toolchains available for Cortex-A + EABIhf" - depends on BR2_arm - depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF - -config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM - bool "Linaro ARM 2018.05" - depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_ARM_EABIHF - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 - select BR2_TOOLCHAIN_GCC_AT_LEAST_7 - select BR2_TOOLCHAIN_HAS_FORTRAN - select BR2_TOOLCHAIN_HAS_OPENMP - help - Linaro toolchain for the ARM architecture. It uses Linaro - GCC 2018.05 (based on gcc 7.3.1), Linaro GDB 2018.05 (based on - GDB 8.1), glibc 2.25, Binutils 2018.05 (based on 2.28). It - generates code that runs on all Cortex-A profile devices, - but tuned for the Cortex-A9. The code generated is Thumb 2, - with the hard floating point calling convention, and uses - the VFPv3-D16 FPU instructions. diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options deleted file mode 100644 index dcbc6599d9..0000000000 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "arm-linux-gnueabihf" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-linaro-arm" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash deleted file mode 100644 index 7169e0b936..0000000000 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 0613b5be14eb7d50a772bbd72069c428558e6e53fa5fce7201d75a13a475ffff gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz -sha256 7248bf105d0d468887a9b8a7120bb281ac8ad0223d9cb3d00dc7c2d498485d91 gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk deleted file mode 100644 index fda356bcea..0000000000 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# toolchain-external-linaro-arm -# -################################################################################ - -TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2018.05 -TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/7.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf - -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz -else -TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz -endif - -$(eval $(toolchain-external-package))