comment "Legacy options removed in 2024.05"
+config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
+ bool "CodeSourcery AArch64 2014.11"
+ select BR2_LEGACY
+ help
+ The Sourcery CodeBench AArch64 toolchain has been removed,
+ use an ARM/Bootlin/Linaro toolchain instead.
+
+config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
+ bool "Sourcery CodeBench ARM 2014.05 has been removed"
+ select BR2_LEGACY
+ help
+ The Sourcery CodeBench ARM toolchain has been removed, use
+ an ARM/Bootlin/Linaro toolchain instead.
+
config BR2_BINUTILS_VERSION_2_39_X
bool "binutils 2.39 has been removed"
select BR2_LEGACY
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
-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)
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
comment "tpm2-totp needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
- depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
+++ /dev/null
-BR2_arm=y
-BR2_arm920t=y
-BR2_TOOLCHAIN_EXTERNAL=y
-BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
+++ /dev/null
-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=""
+++ /dev/null
-BR2_arm=y
-BR2_TOOLCHAIN_EXTERNAL=y
-BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
# 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
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
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 + \
"""
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 && \
!BR2_BINFMT_FLAT
# 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"
# 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"
# 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"
# 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"
+++ /dev/null
-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.
+++ /dev/null
-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
+++ /dev/null
-# 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
+++ /dev/null
-################################################################################
-#
-# 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))
+++ /dev/null
-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
+++ /dev/null
-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
+++ /dev/null
-# 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
+++ /dev/null
-################################################################################
-#
-# 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))