arch/powerpc: drop ABI selection

Since it was introduced in 5a6087d62e (toolchain: add powerpc SPE ABI
support), the CLASSIC vs. SPE choice for the ABI was never really a
choice: CPU without SPE could only use the CLASSIC ABI, while CPUs with
SPE could only use the SPE ABI.

Commit b4c824562b (powerpc: add BR2_POWERPC_CPU_HAS_SPE to replace
adhoc deps/checks) added a blind option that CPUs with SPE would select
rather than duplicate the ad-hoc dependencies in both CLASSIC and SPE
ABI options. Since then, it was even more obvious that the ABI choice
was really not a choice, as the two options have mutually exclusive
conditions.

Drop the useless choice, and directly use the blind option as selected
by the specific CPUs.

We don't need legacy handling, because the situation fixes itself.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Yann E. MORIN 2023-08-20 18:30:29 +02:00 committed by Thomas Petazzoni
parent 2bc8e72baf
commit ebe2a113ab
6 changed files with 9 additions and 24 deletions

View File

@ -146,21 +146,6 @@ config BR2_powerpc_power9
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
endchoice endchoice
choice
prompt "Target ABI"
default BR2_powerpc_SPE if BR2_POWERPC_CPU_HAS_SPE
default BR2_powerpc_CLASSIC
help
Application Binary Interface to use
config BR2_powerpc_CLASSIC
bool "Classic"
depends on !BR2_POWERPC_CPU_HAS_SPE
config BR2_powerpc_SPE
bool "SPE"
depends on BR2_POWERPC_CPU_HAS_SPE
endchoice
config BR2_POWERPC_SOFT_FLOAT config BR2_POWERPC_SOFT_FLOAT
bool "Use soft-float" bool "Use soft-float"
select BR2_SOFT_FLOAT select BR2_SOFT_FLOAT

View File

@ -76,7 +76,7 @@ endif
endif endif
# For FSL PowerPC there's SPE # For FSL PowerPC there's SPE
ifeq ($(BR2_powerpc_SPE),y) ifeq ($(BR2_POWERPC_CPU_HAS_SPE),y)
ABI = spe ABI = spe
# MPC8540s are e500v1 with single precision FP # MPC8540s are e500v1 with single precision FP
ifeq ($(BR2_powerpc_8540),y) ifeq ($(BR2_powerpc_8540),y)

View File

@ -4,7 +4,7 @@ choice
prompt "GCC compiler Version" prompt "GCC compiler Version"
default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy
default BR2_GCC_VERSION_ARC if BR2_arc default BR2_GCC_VERSION_ARC if BR2_arc
default BR2_GCC_VERSION_POWERPC_SPE if BR2_powerpc_SPE default BR2_GCC_VERSION_POWERPC_SPE if BR2_POWERPC_CPU_HAS_SPE
default BR2_GCC_VERSION_12_X default BR2_GCC_VERSION_12_X
help help
Select the version of gcc you wish to use. Select the version of gcc you wish to use.
@ -19,7 +19,7 @@ config BR2_GCC_VERSION_POWERPC_SPE
bool "gcc powerpc spe" bool "gcc powerpc spe"
# powerpc spe support has been deprecated since gcc 8.x. # powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on BR2_powerpc_SPE depends on BR2_POWERPC_CPU_HAS_SPE
select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_GCC_VERSION_11_X config BR2_GCC_VERSION_11_X
@ -27,7 +27,7 @@ config BR2_GCC_VERSION_11_X
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12
# powerpc spe support has been deprecated since gcc 8.x. # powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_powerpc_SPE depends on !BR2_POWERPC_CPU_HAS_SPE
# ARC HS48 rel 31 only supported by gcc arc fork. # ARC HS48 rel 31 only supported by gcc arc fork.
depends on !BR2_archs4x_rel31 depends on !BR2_archs4x_rel31
select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_GCC_AT_LEAST_11
@ -37,7 +37,7 @@ config BR2_GCC_VERSION_12_X
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
# powerpc spe support has been deprecated since gcc 8.x. # powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_powerpc_SPE depends on !BR2_POWERPC_CPU_HAS_SPE
# ARC HS48 rel 31 only supported by gcc arc fork. # ARC HS48 rel 31 only supported by gcc arc fork.
depends on !BR2_archs4x_rel31 depends on !BR2_archs4x_rel31
select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_GCC_AT_LEAST_12
@ -46,7 +46,7 @@ config BR2_GCC_VERSION_13_X
bool "gcc 13.x" bool "gcc 13.x"
# powerpc spe support has been deprecated since gcc 8.x. # powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_powerpc_SPE depends on !BR2_POWERPC_CPU_HAS_SPE
# ARC HS48 rel 31 only supported by gcc arc fork. # ARC HS48 rel 31 only supported by gcc arc fork.
depends on !BR2_archs4x_rel31 depends on !BR2_archs4x_rel31
select BR2_TOOLCHAIN_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_GCC_AT_LEAST_13

View File

@ -234,7 +234,7 @@ HOST_GCC_COMMON_CONF_OPTS += --with-mode=$(GCC_TARGET_MODE)
endif endif
# Enable proper double/long double for SPE ABI # Enable proper double/long double for SPE ABI
ifeq ($(BR2_powerpc_SPE),y) ifeq ($(BR2_POWERPC_CPU_HAS_SPE),y)
HOST_GCC_COMMON_CONF_OPTS += \ HOST_GCC_COMMON_CONF_OPTS += \
--enable-obsolete \ --enable-obsolete \
--enable-e500_double \ --enable-e500_double \

View File

@ -21,7 +21,7 @@ config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
default y if BR2_microblaze default y if BR2_microblaze
default y if BR2_nios2 default y if BR2_nios2
default y if BR2_arc && BR2_ARC_ATOMIC_EXT default y if BR2_arc && BR2_ARC_ATOMIC_EXT
depends on !BR2_powerpc_SPE depends on !BR2_POWERPC_CPU_HAS_SPE
depends on BR2_RISCV_ISA_RVA || !BR2_riscv depends on BR2_RISCV_ISA_RVA || !BR2_riscv
depends on BR2_USE_MMU depends on BR2_USE_MMU

View File

@ -18,7 +18,7 @@ config BR2_PACKAGE_MUSL_ARCH_SUPPORTS
default y if BR2_RISCV_64 default y if BR2_RISCV_64
default y if BR2_sh default y if BR2_sh
default y if BR2_x86_64 default y if BR2_x86_64
depends on !BR2_powerpc_SPE # not supported, build breaks depends on !BR2_POWERPC_CPU_HAS_SPE # not supported, build breaks
depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC
# sh2 nommu is supported by musl, but we don't have support # sh2 nommu is supported by musl, but we don't have support
# for it in Buildroot. # for it in Buildroot.