Browse Source

package/uclibc: prevent config with unsupported RISC-V float ABI

uClibc currently supports RISC-V with a soft-float or 64-bit
hard-float ABI, but not 32-bit hard-float. Selecting
BR2_RISCV_ABI_LP64F results in a build failure:

./include/sys/asm.h:42:4: error: #error unsupported FLEN
   42 | #  error unsupported FLEN
      |    ^~~~~

Change the conditions for BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS
accordingly.

Fixes:

  http://autobuild.buildroot.net/results/ac6e2c4369df46bad9a2ad46ce073e3f15f22ee6/

Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
[Thomas: instead of !BR2_RISCV_ABI_LP64F, use BR2_RISCV_ABI_LP64 ||
BR2_RISCV_ABI_LP64D]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Ben Hutchings 3 years ago
parent
commit
9a51381ced
1 changed files with 2 additions and 1 deletions
  1. 2 1
      package/uclibc/Config.in

+ 2 - 1
package/uclibc/Config.in

@@ -15,7 +15,8 @@ config BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS
 	default y if BR2_mips64el
 	default y if BR2_mips64el
 	default y if BR2_or1k
 	default y if BR2_or1k
 	default y if BR2_powerpc
 	default y if BR2_powerpc
-	default y if BR2_RISCV_64
+	# see libc/sysdeps/linux/riscv64/sys/asm.h
+	default y if BR2_RISCV_64 && (BR2_RISCV_ABI_LP64 || BR2_RISCV_ABI_LP64D)
 	default y if BR2_sh4
 	default y if BR2_sh4
 	default y if BR2_sh4eb
 	default y if BR2_sh4eb
 	default y if BR2_sparc
 	default y if BR2_sparc