package/rustc: add support for ARMv8 with 32-bit software

BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS is not enabled when ARMv8
target hardware is combined with 32-bit software. That is because ARMv7
(32-bit) toolchain is only enabled for BR2_ARM_CPU_ARMV7A which is
mutually exclusive with BR2_ARM_CPU_ARMV8A.

Use ARMv7 toolchain for 32-bit software.

Cc: James Hilliard <james.hilliard1@gmail.com>
Reported-by: Oscar Gomez Fuente <oscargomezf@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Baruch Siach 2022-06-09 17:14:59 +03:00 committed by Thomas Petazzoni
parent 53dea1599a
commit 350772148f

View file

@ -42,6 +42,9 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS
default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
# armv7-unknown-linux-gnueabihf
default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
# armv7-unknown-linux-gnueabihf for armv8 hardware with 32-bit
# userspace
default y if BR2_arm && BR2_ARM_CPU_ARMV8A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
# mips-unknown-linux-gnu
default y if BR2_mips && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6
# mips64-unknown-linux-gnuabi64
@ -86,6 +89,9 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS
default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL
# armv7-unknown-linux-musleabihf
default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL
# armv7-unknown-linux-musleabihf for armv8 hardware with 32-bit
# userspace
default y if BR2_arm && BR2_ARM_CPU_ARMV8A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL
# i586-unknown-linux-gnu
default y if BR2_i586 && BR2_TOOLCHAIN_USES_GLIBC
# i586-unknown-linux-musl
@ -116,6 +122,7 @@ config BR2_PACKAGE_HOST_RUSTC_ARCH
default "armv5te" if BR2_ARM_CPU_ARMV5
default "arm" if BR2_ARM_CPU_ARMV6
default "armv7" if BR2_ARM_CPU_ARMV7A
default "armv7" if BR2_ARM_CPU_ARMV7A || (BR2_arm && BR2_ARM_CPU_ARMV8A)
default "riscv64gc" if BR2_RISCV_64
default BR2_ARCH