summaryrefslogtreecommitdiff
path: root/eclass/multilib-build.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/multilib-build.eclass')
-rw-r--r--eclass/multilib-build.eclass14
1 files changed, 11 insertions, 3 deletions
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 620bdcedce58..21ca275c3c77 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -49,6 +49,8 @@ _MULTILIB_FLAGS=(
# abi_ppc_64:ppc64
abi_riscv_lp64d:lp64d
abi_riscv_lp64:lp64
+ abi_riscv_ilp32d:ilp32d
+ abi_riscv_ilp32:ilp32
abi_s390_32:s390
abi_s390_64:s390x
)
@@ -492,12 +494,18 @@ multilib_prepare_wrappers() {
# error "abi_mips_o32 not supported by the package."
# endif
#elif defined(__riscv)
-# if defined(__riscv_float_abi_double)
+# if (__riscv_xlen == 64) && defined(__riscv_float_abi_double)
# error "abi_riscv_lp64d not supported by the package."
-# elif defined(__riscv_float_abi_single)
+# elif (__riscv_xlen == 64) && defined(__riscv_float_abi_single)
# error "abi_riscv_lp64f not supported by the package."
-# else
+# elif (__riscv_xlen == 64)
# error "abi_riscv_lp64 not supported by the package."
+# elif (__riscv_xlen == 32) && defined(__riscv_float_abi_double)
+# error "abi_riscv_ilp32d not supported by the package."
+# elif (__riscv_xlen == 32) && defined(__riscv_float_abi_single)
+# error "abi_riscv_ilp32f not supported by the package."
+# else
+# error "abi_riscv_ilp32 not supported by the package."
# endif
#elif defined(__sparc__)
# if defined(__arch64__)