diff mbox series

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

Message ID 7ae79f05b1e4275dc7f27bc67344ed5c23229116.1654784099.git.baruch@tkos.co.il
State Accepted
Headers show
Series package/rustc: add support for ARMv8 with 32-bit software | expand

Commit Message

Baruch Siach June 9, 2022, 2:14 p.m. UTC
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>
---
 package/rustc/Config.in.host | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Thomas Petazzoni June 9, 2022, 8:33 p.m. UTC | #1
On Thu,  9 Jun 2022 17:14:59 +0300
Baruch Siach via buildroot <buildroot@buildroot.org> wrote:

> 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>
> ---
>  package/rustc/Config.in.host | 7 +++++++
>  1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas
Peter Korsgaard June 19, 2022, 1:09 p.m. UTC | #2
>>>>> "Baruch" == Baruch Siach via buildroot <buildroot@buildroot.org> writes:

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

Committed to 2022.05.x, thanks.
Peter Korsgaard June 19, 2022, 1:23 p.m. UTC | #3
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

>>>>> "Baruch" == Baruch Siach via buildroot <buildroot@buildroot.org> writes:
 >> 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>

 > Committed to 2022.05.x, thanks.

.. and 2022.02.x.
diff mbox series

Patch

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