From 279c2b1a9e13c46f810658134d77c4f1027e2587 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 9 Jun 2022 17:14:59 +0300 Subject: [PATCH] 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 Reported-by: Oscar Gomez Fuente Signed-off-by: Baruch Siach Signed-off-by: Thomas Petazzoni (cherry picked from commit 350772148f208c8d49f88f97b3a5ecf59c369bc6) Signed-off-by: Peter Korsgaard --- package/rustc/Config.in.host | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host index c7b8a19a22..4669be852d 100644 --- a/package/rustc/Config.in.host +++ b/package/rustc/Config.in.host @@ -33,6 +33,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 @@ -75,6 +78,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 @@ -105,6 +111,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