toolchain: drop codesourcery arm/aarch64 toolchains

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
1c2dbcdcf0:

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: 1c2dbcdcf0
 - http://autobuild.buildroot.org/results/e28f955f2b360f6e7bb231a5a3800cfbd17a23d7

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Peter: add Config.in.legacy entries]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Fabrice Fontaine 2024-03-09 17:49:46 +01:00 committed by Peter Korsgaard
parent a362979761
commit 53a8c5150e
19 changed files with 14 additions and 237 deletions

View File

@ -146,6 +146,20 @@ endif
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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -1,4 +0,0 @@
BR2_arm=y
BR2_arm920t=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y

View File

@ -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=""

View File

@ -1,3 +0,0 @@
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y

View File

@ -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

Can't render this file because it contains an unexpected character in line 1 and column 26.

View File

@ -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 + \
"""

View File

@ -886,7 +886,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 && \
!BR2_BINFMT_FLAT

View File

@ -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"

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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))