[Buildroot] [PATCH] package/rustc: add support for ARMv8 with 32-bit software
Baruch Siach
baruch at tkos.co.il
Thu Jun 9 14:14:59 UTC 2022
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 at gmail.com>
Reported-by: Oscar Gomez Fuente <oscargomezf at gmail.com>
Signed-off-by: Baruch Siach <baruch at tkos.co.il>
---
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 9ce0f6259200..27c3a3cdebe1 100644
--- a/package/rustc/Config.in.host
+++ b/package/rustc/Config.in.host
@@ -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
--
2.35.1
More information about the buildroot
mailing list