diff mbox series

[1/1] toolchain: drop codesourcery arm/aarch64 toolchains

Message ID 20240309164946.166802-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] toolchain: drop codesourcery arm/aarch64 toolchains | expand

Commit Message

Fabrice Fontaine March 9, 2024, 4:49 p.m. UTC
codesourcery arm/aarch64 toolchains are old (2014) and use glibc
2.18/2.20 which are not compatible with 64-bit time_t raising the
following build failure with libcgroup since commit
1c2dbcdcf0bb589d325c379246acaa39bb07b7be:

In file included from ./libcgroup-internal.h:25:0,
                 from parse.y:21:
/home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/fts.h:41:3: error: #error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
 # error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
   ^

Fixes: 1c2dbcdcf0bb589d325c379246acaa39bb07b7be
 - http://autobuild.buildroot.org/results/e28f955f2b360f6e7bb231a5a3800cfbd17a23d7

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/guile/guile.mk                        |  5 -
 package/mesa3d/mesa3d.mk                      |  6 --
 package/tpm2-totp/Config.in                   |  2 -
 .../autobuild/sourcery-arm-armv4t.config      |  4 -
 .../autobuild/sourcery-arm-thumb2.config      |  7 --
 .../autobuild/sourcery-arm.config             |  3 -
 .../autobuild/toolchain-configs.csv           |  5 -
 .../testing/tests/toolchain/test_external.py  | 97 -------------------
 toolchain/Config.in                           |  1 -
 toolchain/toolchain-external/Config.in        |  4 -
 .../Config.in                                 | 19 ----
 .../Config.in.options                         |  9 --
 ...olchain-external-codesourcery-aarch64.hash |  3 -
 ...toolchain-external-codesourcery-aarch64.mk | 12 ---
 .../Config.in                                 | 35 -------
 .../Config.in.options                         |  9 --
 .../toolchain-external-codesourcery-arm.hash  |  3 -
 .../toolchain-external-codesourcery-arm.mk    | 13 ---
 18 files changed, 237 deletions(-)
 delete mode 100644 support/config-fragments/autobuild/sourcery-arm-armv4t.config
 delete mode 100644 support/config-fragments/autobuild/sourcery-arm-thumb2.config
 delete mode 100644 support/config-fragments/autobuild/sourcery-arm.config
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash
 delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk

Comments

Peter Korsgaard March 14, 2024, 6:48 p.m. UTC | #1
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > codesourcery arm/aarch64 toolchains are old (2014) and use glibc
 > 2.18/2.20 which are not compatible with 64-bit time_t raising the
 > following build failure with libcgroup since commit
 > 1c2dbcdcf0bb589d325c379246acaa39bb07b7be:

 > In file included from ./libcgroup-internal.h:25:0,
 >                  from parse.y:21:
 > /home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/fts.h:41:3: error: #error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
 >  # error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
 >    ^

 > Fixes: 1c2dbcdcf0bb589d325c379246acaa39bb07b7be
 >  - http://autobuild.buildroot.org/results/e28f955f2b360f6e7bb231a5a3800cfbd17a23d7

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
 > ---
 >  package/guile/guile.mk                        |  5 -
 >  package/mesa3d/mesa3d.mk                      |  6 --
 >  package/tpm2-totp/Config.in                   |  2 -
 >  .../autobuild/sourcery-arm-armv4t.config      |  4 -
 >  .../autobuild/sourcery-arm-thumb2.config      |  7 --
 >  .../autobuild/sourcery-arm.config             |  3 -
 >  .../autobuild/toolchain-configs.csv           |  5 -
 >  .../testing/tests/toolchain/test_external.py  | 97 -------------------
 >  toolchain/Config.in                           |  1 -

I get a conflict here, so this was presumably not generated against
master?

Committed after fixing that up and adding Config.in.legacy entries,
thanks.
Arnout Vandecappelle March 15, 2024, 7:40 p.m. UTC | #2
On 14/03/2024 19:48, Peter Korsgaard wrote:
>>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:
> 
>   > codesourcery arm/aarch64 toolchains are old (2014) and use glibc
>   > 2.18/2.20 which are not compatible with 64-bit time_t raising the
>   > following build failure with libcgroup since commit
>   > 1c2dbcdcf0bb589d325c379246acaa39bb07b7be:
> 
>   > In file included from ./libcgroup-internal.h:25:0,
>   >                  from parse.y:21:
>   > /home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/fts.h:41:3: error: #error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
>   >  # error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
>   >    ^
> 
>   > Fixes: 1c2dbcdcf0bb589d325c379246acaa39bb07b7be
>   >  - http://autobuild.buildroot.org/results/e28f955f2b360f6e7bb231a5a3800cfbd17a23d7
> 
>   > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>   > ---
>   >  package/guile/guile.mk                        |  5 -
>   >  package/mesa3d/mesa3d.mk                      |  6 --
>   >  package/tpm2-totp/Config.in                   |  2 -
>   >  .../autobuild/sourcery-arm-armv4t.config      |  4 -
>   >  .../autobuild/sourcery-arm-thumb2.config      |  7 --
>   >  .../autobuild/sourcery-arm.config             |  3 -
>   >  .../autobuild/toolchain-configs.csv           |  5 -
>   >  .../testing/tests/toolchain/test_external.py  | 97 -------------------
>   >  toolchain/Config.in                           |  1 -
> 
> I get a conflict here, so this was presumably not generated against
> master?
> 
> Committed after fixing that up and adding Config.in.legacy entries,

  You used spaces instead of tabs in there... Something wrong with your editor 
config? Anyway, fixed in 2b59ee9f19.

  Regards,
  Arnout

> thanks.
>
Peter Korsgaard March 16, 2024, 3:07 p.m. UTC | #3
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

Hi,

 >> I get a conflict here, so this was presumably not generated against
 >> master?
 >> Committed after fixing that up and adding Config.in.legacy entries,

 >  You used spaces instead of tabs in there... Something wrong with your
 >  editor config? Anyway, fixed in 2b59ee9f19.

Ups, I believe it happened because I cut'n'pasted the bool lines from
the .patch, the rest of the lines are fine.

Thanks for fixing.
Peter Korsgaard March 21, 2024, 8:44 p.m. UTC | #4
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:
 >> codesourcery arm/aarch64 toolchains are old (2014) and use glibc
 >> 2.18/2.20 which are not compatible with 64-bit time_t raising the
 >> following build failure with libcgroup since commit
 >> 1c2dbcdcf0bb589d325c379246acaa39bb07b7be:

 >> In file included from ./libcgroup-internal.h:25:0,
 >> from parse.y:21:
 >> /home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/fts.h:41:3: error: #error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
 >> # error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
 >> ^

 >> Fixes: 1c2dbcdcf0bb589d325c379246acaa39bb07b7be
 >> - http://autobuild.buildroot.org/results/e28f955f2b360f6e7bb231a5a3800cfbd17a23d7

 >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
 >> ---
 >> package/guile/guile.mk                        |  5 -
 >> package/mesa3d/mesa3d.mk                      |  6 --
 >> package/tpm2-totp/Config.in                   |  2 -
 >> .../autobuild/sourcery-arm-armv4t.config      |  4 -
 >> .../autobuild/sourcery-arm-thumb2.config      |  7 --
 >> .../autobuild/sourcery-arm.config             |  3 -
 >> .../autobuild/toolchain-configs.csv           |  5 -
 >> .../testing/tests/toolchain/test_external.py  | 97 -------------------
 >> toolchain/Config.in                           |  1 -

 > I get a conflict here, so this was presumably not generated against
 > master?

 > Committed after fixing that up and adding Config.in.legacy entries,
 > thanks.

Committed to 2024.02.x given how early we are and how old this toolchain
is, thanks.
diff mbox series

Patch

diff --git a/package/guile/guile.mk b/package/guile/guile.mk
index 1d2e8038f0..82daaf5ad4 100644
--- a/package/guile/guile.mk
+++ b/package/guile/guile.mk
@@ -44,11 +44,6 @@  ifeq ($(BR2_STATIC_LIBS),y)
 GUILE_CFLAGS += -DGC_NO_DLOPEN
 endif
 
-# Triggers assembler error with -Os
-ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy)
-GUILE_CFLAGS += -O2
-endif
-
 # jit triggers build failures with gcc < 5
 ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),)
 GUILE_CONF_OPTS += --disable-jit
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 8e3cd7245d..df0079bf80 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -29,12 +29,6 @@  MESA3D_CONF_OPTS = \
 	-Dgallium-omx=disabled \
 	-Dpower8=disabled
 
-# Codesourcery ARM 2014.05 fail to link libmesa_dri_drivers.so with --as-needed linker
-# flag due to a linker bug between binutils 2.24 and 2.25 (2.24.51.20140217).
-ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y)
-MESA3D_CONF_OPTS += -Db_asneeded=false
-endif
-
 ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y)
 MESA3D_CONF_OPTS += -Ddri3=enabled
 ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
diff --git a/package/tpm2-totp/Config.in b/package/tpm2-totp/Config.in
index dcadf5a5f2..a26604abb8 100644
--- a/package/tpm2-totp/Config.in
+++ b/package/tpm2-totp/Config.in
@@ -1,7 +1,6 @@ 
 config BR2_PACKAGE_TPM2_TOTP
 	bool "tpm2-totp"
 	depends on !BR2_STATIC_LIBS # tpm2-tss
-	depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # glibc < 2.20
 	select BR2_PACKAGE_LIBQRENCODE
 	select BR2_PACKAGE_TPM2_TSS
 	help
@@ -20,4 +19,3 @@  config BR2_PACKAGE_TPM2_TOTP
 
 comment "tpm2-totp needs a toolchain w/ dynamic library"
 	depends on BR2_STATIC_LIBS
-	depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
diff --git a/support/config-fragments/autobuild/sourcery-arm-armv4t.config b/support/config-fragments/autobuild/sourcery-arm-armv4t.config
deleted file mode 100644
index 4c0e01fecb..0000000000
--- a/support/config-fragments/autobuild/sourcery-arm-armv4t.config
+++ /dev/null
@@ -1,4 +0,0 @@ 
-BR2_arm=y
-BR2_arm920t=y
-BR2_TOOLCHAIN_EXTERNAL=y
-BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
diff --git a/support/config-fragments/autobuild/sourcery-arm-thumb2.config b/support/config-fragments/autobuild/sourcery-arm-thumb2.config
deleted file mode 100644
index e726757a16..0000000000
--- a/support/config-fragments/autobuild/sourcery-arm-thumb2.config
+++ /dev/null
@@ -1,7 +0,0 @@ 
-BR2_arm=y
-BR2_cortex_a8=y
-BR2_ARM_EABI=y
-BR2_ARM_INSTRUCTIONS_THUMB2=y
-BR2_TOOLCHAIN_EXTERNAL=y
-BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
-BR2_TARGET_OPTIMIZATION=""
diff --git a/support/config-fragments/autobuild/sourcery-arm.config b/support/config-fragments/autobuild/sourcery-arm.config
deleted file mode 100644
index 8ade4647f2..0000000000
--- a/support/config-fragments/autobuild/sourcery-arm.config
+++ /dev/null
@@ -1,3 +0,0 @@ 
-BR2_arm=y
-BR2_TOOLCHAIN_EXTERNAL=y
-BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
index a65e9bacc3..2c4fa45fe7 100644
--- a/support/config-fragments/autobuild/toolchain-configs.csv
+++ b/support/config-fragments/autobuild/toolchain-configs.csv
@@ -18,9 +18,6 @@  support/config-fragments/autobuild/bootlin-x86-64-musl.config,x86_64
 # Test a MMU toolchain without dynamic library support
 support/config-fragments/autobuild/br-arm-full-static.config,x86_64
 
-# Test a toolchain with an old gcc version (gcc 4.8)
-support/config-fragments/autobuild/sourcery-arm.config,x86
-
 # Toolchains used by test-pkg only when the '-a' option is passed:
 support/config-fragments/autobuild/arm-aarch64.config,x86_64
 support/config-fragments/autobuild/bootlin-aarch64-glibc.config,x86_64
@@ -66,8 +63,6 @@  support/config-fragments/autobuild/br-xtensa-full-internal.config,any
 support/config-fragments/autobuild/linaro-aarch64.config,x86
 support/config-fragments/autobuild/linaro-aarch64-be.config,x86
 support/config-fragments/autobuild/linaro-arm.config,x86
-support/config-fragments/autobuild/sourcery-arm-armv4t.config,x86
-support/config-fragments/autobuild/sourcery-arm-thumb2.config,x86
 support/config-fragments/autobuild/sourcery-mips64.config,x86
 support/config-fragments/autobuild/sourcery-mips.config,x86
 support/config-fragments/autobuild/sourcery-nios2.config,x86
diff --git a/support/testing/tests/toolchain/test_external.py b/support/testing/tests/toolchain/test_external.py
index d22f38cedc..27dfd68500 100644
--- a/support/testing/tests/toolchain/test_external.py
+++ b/support/testing/tests/toolchain/test_external.py
@@ -37,103 +37,6 @@  class TestExternalToolchain(infra.basetest.BRTest):
             self.assertTrue(os.path.exists(interp_path))
 
 
-class TestExternalToolchainSourceryArmv4(TestExternalToolchain):
-    config = BASIC_CONFIG + \
-        """
-        BR2_arm=y
-        BR2_arm920t=y
-        BR2_TOOLCHAIN_EXTERNAL=y
-        BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
-        """
-    toolchain_prefix = "arm-none-linux-gnueabi"
-
-    def test_run(self):
-        TestExternalToolchain.common_check(self)
-
-        # Check the architecture variant
-        arch = infra.get_file_arch(self.builddir,
-                                   self.toolchain_prefix,
-                                   "lib/libc.so.6")
-        self.assertEqual(arch, "v4T")
-
-        # Check the sysroot symlink
-        symlink = os.path.join(self.builddir, "staging", "armv4t")
-        self.assertTrue(os.path.exists(symlink))
-        self.assertEqual(os.readlink(symlink), "./")
-
-        # Boot the system
-        img = os.path.join(self.builddir, "images", "rootfs.cpio")
-        self.emulator.boot(arch="armv5",
-                           kernel="builtin",
-                           options=["-initrd", img])
-        self.emulator.login()
-
-
-class TestExternalToolchainSourceryArmv5(TestExternalToolchain):
-    config = BASIC_CONFIG + \
-        """
-        BR2_arm=y
-        BR2_TOOLCHAIN_EXTERNAL=y
-        BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
-        """
-    toolchain_prefix = "arm-none-linux-gnueabi"
-
-    def test_run(self):
-        TestExternalToolchain.common_check(self)
-
-        # Check the architecture variant
-        arch = infra.get_file_arch(self.builddir,
-                                   self.toolchain_prefix,
-                                   "lib/libc.so.6")
-        self.assertEqual(arch, "v5TE")
-
-        # Boot the system
-        img = os.path.join(self.builddir, "images", "rootfs.cpio")
-        self.emulator.boot(arch="armv5",
-                           kernel="builtin",
-                           options=["-initrd", img])
-        self.emulator.login()
-
-
-class TestExternalToolchainSourceryArmv7(TestExternalToolchain):
-    config = BASIC_CONFIG + \
-        """
-        BR2_arm=y
-        BR2_cortex_a8=y
-        BR2_ARM_EABI=y
-        BR2_ARM_INSTRUCTIONS_THUMB2=y
-        BR2_TOOLCHAIN_EXTERNAL=y
-        BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
-        """
-    toolchain_prefix = "arm-none-linux-gnueabi"
-
-    def test_run(self):
-        TestExternalToolchain.common_check(self)
-
-        # Check the architecture variant
-        arch = infra.get_file_arch(self.builddir,
-                                   self.toolchain_prefix,
-                                   "lib/libc.so.6")
-        self.assertEqual(arch, "v7")
-        isa = infra.get_elf_arch_tag(self.builddir,
-                                     self.toolchain_prefix,
-                                     "lib/libc.so.6",
-                                     "Tag_THUMB_ISA_use")
-        self.assertEqual(isa, "Thumb-2")
-
-        # Check we have the sysroot symlink
-        symlink = os.path.join(self.builddir, "staging", "thumb2")
-        self.assertTrue(os.path.exists(symlink))
-        self.assertEqual(os.readlink(symlink), "./")
-
-        # Boot the system
-        img = os.path.join(self.builddir, "images", "rootfs.cpio")
-        self.emulator.boot(arch="armv7",
-                           kernel="builtin",
-                           options=["-initrd", img])
-        self.emulator.login()
-
-
 class TestExternalToolchainLinaroArm(TestExternalToolchain):
     config = BASIC_CONFIG + \
         """
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 1a06178608..acd1eb3f1e 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -893,7 +893,6 @@  config BR2_TOOLCHAIN_HAS_SYNC_8
 config BR2_TOOLCHAIN_HAS_LIBATOMIC
 	bool
 	default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && \
-		!BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 && \
 		BR2_TOOLCHAIN_HAS_THREADS
 
 # __atomic intrinsics are available:
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index c1c159cb8e..b5432b71d7 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -11,7 +11,6 @@  choice
 # Aarch64 (use ARM toolchain by default)
 source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in"
 source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
-source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"
 
 # Aarch64 big-endian
 source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in"
@@ -23,7 +22,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"
-source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in"
 
 # ARM big-endian
 source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in"
@@ -115,7 +113,6 @@  config BR2_TOOLCHAIN_EXTERNAL_PREFIX
 # Aarch64
 source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options"
 source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
-source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"
 
 # Aarch64 big-endian
 source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options"
@@ -127,7 +124,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"
-source "toolchain/toolchain-external/toolchain-external-codesourcery-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-codesourcery-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
deleted file mode 100644
index 8c0f985c5b..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
+++ /dev/null
@@ -1,19 +0,0 @@ 
-config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
-	bool "CodeSourcery AArch64 2014.11"
-	depends on BR2_aarch64
-	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
-	# a57/a53 and a72/a53 appeared in gcc-6 or were broken before
-	depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53
-	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
-	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
-	select BR2_TOOLCHAIN_HAS_SSP
-	select BR2_INSTALL_LIBSTDCPP
-	select BR2_HOSTARCH_NEEDS_IA32_LIBS
-	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
-	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
-	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
-	help
-	  Sourcery CodeBench toolchain for the AArch64 architecture,
-	  from Mentor Graphics. It uses gcc 4.9.1, binutils
-	  2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
-	  3.16.2.
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options
deleted file mode 100644
index 1eab839216..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options
+++ /dev/null
@@ -1,9 +0,0 @@ 
-if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
-
-config BR2_TOOLCHAIN_EXTERNAL_PREFIX
-	default "aarch64-amd-linux-gnu"
-
-config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
-	default "toolchain-external-codesourcery-aarch64"
-
-endif
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash
deleted file mode 100644
index 8f8fca0d0c..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash
+++ /dev/null
@@ -1,3 +0,0 @@ 
-# Locally calculated
-sha256  405aada821146755c5f2df566375c2a682456d6b8451ee47b88cf1a52b093676  aarch64-amd-2014.11-95-aarch64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2
-sha256  3f50dd6ee433eb5b6992a1071b988e50379a738f54f58722bc60081613764716  aarch64-amd-2014.11-95-aarch64-amd-linux-gnu.src.tar.bz2
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk
deleted file mode 100644
index 192763a0e0..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk
+++ /dev/null
@@ -1,12 +0,0 @@ 
-################################################################################
-#
-# toolchain-external-codesourcery-aarch64
-#
-################################################################################
-
-TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX)
-TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION = 2014.11-95
-TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SOURCE = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2
-TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_ACTUAL_SOURCE_TARBALL = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2
-
-$(eval $(toolchain-external-package))
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in
deleted file mode 100644
index aea2ba34f2..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in
+++ /dev/null
@@ -1,35 +0,0 @@ 
-config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
-	bool "Sourcery CodeBench ARM 2014.05"
-	depends on BR2_arm
-	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
-	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
-	depends on BR2_ARM_EABI
-	# Unsupported ARM cores
-	depends on !BR2_cortex_a12 && !BR2_cortex_a17 && !BR2_ARM_CPU_ARMV8A
-	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
-	select BR2_TOOLCHAIN_HAS_SSP
-	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
-	select BR2_INSTALL_LIBSTDCPP
-	select BR2_HOSTARCH_NEEDS_IA32_LIBS
-	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
-	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
-	help
-	  Sourcery CodeBench toolchain for the ARM architecture, from
-	  Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
-	  2.18 and gdb 7.7.50, kernel headers 3.13. It has support
-	  for the following variants:
-	    - ARMv5TE, little endian, soft-float, glibc
-	      Select ARM926T, ARM10T, XScale or another ARMv5 core
-	      Select BR2_SOFT_FLOAT
-	    - ARMv4T, little endian, soft-float, glibc
-	      Select ARM720T, ARM920T, ARM922T or another ARMv4 core
-	      Select BR2_SOFT_FLOAT
-	    - ARMv7-A, Thumb 2, little endian, soft-float, glibc
-	      Select Cortex-A8, Cortex-A9 or another ARMv7-A core
-	      Select BR2_SOFT_FLOAT
-	      Set BR2_TARGET_OPTIMIZATION to -mthumb
-
-comment "Sourcery CodeBench toolchains available for the EABI ABI"
-	depends on BR2_arm
-	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
-	depends on !BR2_ARM_EABI
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options
deleted file mode 100644
index 7f3654dc70..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options
+++ /dev/null
@@ -1,9 +0,0 @@ 
-if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
-
-config BR2_TOOLCHAIN_EXTERNAL_PREFIX
-	default "arm-none-linux-gnueabi"
-
-config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
-	default "toolchain-external-codesourcery-arm"
-
-endif
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash
deleted file mode 100644
index c01a7b17c5..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash
+++ /dev/null
@@ -1,3 +0,0 @@ 
-# Locally calculated
-sha256  39ee0e789034334ecc89af94e838e3a4815400ac5ff980f808f466b04778532e  arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
-sha256  e16a5b1e41d7ff1e74161f9405182001bc8d1360d89564e73911032e6966cc0d  arm-2014.05-29-arm-none-linux-gnueabi.src.tar.bz2
diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk
deleted file mode 100644
index f15a50c43e..0000000000
--- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk
+++ /dev/null
@@ -1,13 +0,0 @@ 
-################################################################################
-#
-# toolchain-external-codesourcery-arm
-#
-################################################################################
-
-TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION = 2014.05-29
-
-TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX)
-TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SOURCE = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2
-TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_ACTUAL_SOURCE_TARBALL = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2
-
-$(eval $(toolchain-external-package))