summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2020-09-11 18:20:33 +0300
committerAndreas K. Hüttel <dilfridge@gentoo.org>2020-09-11 18:45:07 +0300
commitce01a62efcf91c2383d6420541a5a9f3a852ed5f (patch)
tree1bd3f0d2ac33516c8855f9eecf366e973fe4cb84 /profiles
parentprofiles: Properly adapt to all 4 riscv abi (diff)
downloadgentoo-ce01a62efcf91c2383d6420541a5a9f3a852ed5f.tar.gz
gentoo-ce01a62efcf91c2383d6420541a5a9f3a852ed5f.tar.bz2
gentoo-ce01a62efcf91c2383d6420541a5a9f3a852ed5f.zip
profiles: Add intermediate rv32(imac) multilib profile
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'profiles')
-rw-r--r--profiles/arch/riscv/rv32imac/eapi1
-rw-r--r--profiles/arch/riscv/rv32imac/make.defaults23
-rw-r--r--profiles/arch/riscv/rv32imac/parent2
-rw-r--r--profiles/arch/riscv/rv32imac/use.force5
-rw-r--r--profiles/arch/riscv/rv32imac/use.mask6
5 files changed, 37 insertions, 0 deletions
diff --git a/profiles/arch/riscv/rv32imac/eapi b/profiles/arch/riscv/rv32imac/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/arch/riscv/rv32imac/make.defaults b/profiles/arch/riscv/rv32imac/make.defaults
new file mode 100644
index 000000000000..57c09ed82419
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/make.defaults
@@ -0,0 +1,23 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# RISC-V profile for rv32imac multilib
+#
+# This immediate profile is ONLY useful for internal purposes. It can NOT
+# generate stages or a working system due to limitations in gcc.
+
+CHOST="riscv32-unknown-linux-gnu"
+
+# Multilib ABIs
+MULTILIB_ABIS="ilp32d ilp32"
+DEFAULT_ABI="ilp32d"
+ABI="ilp32d"
+
+# Enable lp64d by default
+ABI_RISCV="ilp32d"
+
+# Unhide the riscv/rv64gc-specific USE_EXPANDs
+USE_EXPAND_HIDDEN="-ABI_RISCV"
+
+# Implicitly enable lp64d in ebuilds without multilib support
+IUSE_IMPLICIT="abi_riscv_ilp32d"
diff --git a/profiles/arch/riscv/rv32imac/parent b/profiles/arch/riscv/rv32imac/parent
new file mode 100644
index 000000000000..17e5a3c6e7f1
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/parent
@@ -0,0 +1,2 @@
+..
+../../../multilib
diff --git a/profiles/arch/riscv/rv32imac/use.force b/profiles/arch/riscv/rv32imac/use.force
new file mode 100644
index 000000000000..069813e17719
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/use.force
@@ -0,0 +1,5 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag corresponding to the default ABI.
+abi_riscv_ilp32d
diff --git a/profiles/arch/riscv/rv32imac/use.mask b/profiles/arch/riscv/rv32imac/use.mask
new file mode 100644
index 000000000000..d57df4d6abeb
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/use.mask
@@ -0,0 +1,6 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Unmask the multilib flags for this arch.
+-abi_riscv_ilp32d
+-abi_riscv_ilp32