summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2021-12-23 22:07:48 +0100
committerAndreas K. Hüttel <dilfridge@gentoo.org>2022-01-02 12:18:55 +0100
commit88a020c8438369bdfc9e8d44fe9a0a0689588f19 (patch)
treea3b68c38a8ad01ee35e528be5062a96c0d7253ed /profiles/arch
parentapp-text/openpaperwork-gtk: add missing libhandy dep (diff)
downloadgentoo-88a020c8438369bdfc9e8d44fe9a0a0689588f19.tar.gz
gentoo-88a020c8438369bdfc9e8d44fe9a0a0689588f19.tar.bz2
gentoo-88a020c8438369bdfc9e8d44fe9a0a0689588f19.zip
profiles: consolidate arch/riscv files
Now this is the big and ugly one. Since the 17.0 profiles are gone now, we can simplify... * All information from riscv/rv32imac and riscv/rv64gc is moved into their subdirs; these two are not valid profile dirs anymore. * A new subdir riscv/rv64gc/lp64d-multilib is created as replacement. * We do not by default pull in multilib and disable it then everywhere anymore. Instead we only pull in multilib in the riscv/rv64gc/lp64d-multilib dir. * The make.defaults in riscv specifies the two-level libdirs used ONLY for multilib secondary ABI (i.e. in practice never except when experimenting). The libdir for the primary, default ABI MUST be overridden in the specific profile to a single-level path. * This makes the need for the 1level directory go away. * We use for the default ABI "lib64" (64bit) or "lib" (32bit) to keep the structure of other arches, as also stated in the specs as fallback. Note that the 2-level libdirs for 32bit remain lib32/*; using lib/* here does not work. * default/linux/riscv now pulls in arch/riscv, default/linux/riscv/20.0/rv64gc and default/linux/riscv/20.0/rv32imac build on that but add no further arch dir. Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'profiles/arch')
-rw-r--r--profiles/arch/riscv/1level/make.defaults7
-rw-r--r--profiles/arch/riscv/1level/package.mask5
-rw-r--r--profiles/arch/riscv/1level/package.unmask5
-rw-r--r--profiles/arch/riscv/make.defaults12
-rw-r--r--profiles/arch/riscv/package.mask6
-rw-r--r--profiles/arch/riscv/rv32imac/eapi1
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/make.defaults12
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/package.mask (renamed from profiles/arch/riscv/rv32imac/package.mask)0
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/package.use.force3
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/use.force2
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/use.mask6
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/make.defaults13
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/package.mask (renamed from profiles/arch/riscv/rv32imac/use.mask)4
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/package.use.force2
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/use.mask4
-rw-r--r--profiles/arch/riscv/rv32imac/parent2
-rw-r--r--profiles/arch/riscv/rv32imac/use.force2
-rw-r--r--profiles/arch/riscv/rv64gc/eapi1
-rw-r--r--profiles/arch/riscv/rv64gc/lp64/make.defaults13
-rw-r--r--profiles/arch/riscv/rv64gc/lp64/package.use.force2
-rw-r--r--profiles/arch/riscv/rv64gc/lp64/use.force2
-rw-r--r--profiles/arch/riscv/rv64gc/lp64/use.mask5
-rw-r--r--profiles/arch/riscv/rv64gc/lp64d-multilib/eapi (renamed from profiles/arch/riscv/1level/eapi)0
-rw-r--r--profiles/arch/riscv/rv64gc/lp64d-multilib/make.defaults (renamed from profiles/arch/riscv/rv64gc/make.defaults)5
-rw-r--r--profiles/arch/riscv/rv64gc/lp64d-multilib/parent1
-rw-r--r--profiles/arch/riscv/rv64gc/lp64d/make.defaults13
-rw-r--r--profiles/arch/riscv/rv64gc/lp64d/package.use.force2
-rw-r--r--profiles/arch/riscv/rv64gc/lp64d/use.mask5
-rw-r--r--profiles/arch/riscv/rv64gc/parent2
-rw-r--r--profiles/arch/riscv/rv64gc/use.force2
-rw-r--r--profiles/arch/riscv/rv64gc/use.mask2
31 files changed, 62 insertions, 79 deletions
diff --git a/profiles/arch/riscv/1level/make.defaults b/profiles/arch/riscv/1level/make.defaults
deleted file mode 100644
index 2a8d8bdc9bb3..000000000000
--- a/profiles/arch/riscv/1level/make.defaults
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-LIBDIR_lp64d="lib64"
-LIBDIR_lp64="lib64"
-LIBDIR_ilp32d="lib"
-LIBDIR_ilp32="lib"
diff --git a/profiles/arch/riscv/1level/package.mask b/profiles/arch/riscv/1level/package.mask
deleted file mode 100644
index eb4368881cc3..000000000000
--- a/profiles/arch/riscv/1level/package.mask
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Doesnt work properly with the one-level libdirs
-<sys-apps/baselayout-2.7-r3
diff --git a/profiles/arch/riscv/1level/package.unmask b/profiles/arch/riscv/1level/package.unmask
deleted file mode 100644
index 61bf895f5679..000000000000
--- a/profiles/arch/riscv/1level/package.unmask
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Does work properly with the one-level libdirs
-<dev-lang/python-3.7
diff --git a/profiles/arch/riscv/make.defaults b/profiles/arch/riscv/make.defaults
index 3a7d4ac18e7f..6006d582a10a 100644
--- a/profiles/arch/riscv/make.defaults
+++ b/profiles/arch/riscv/make.defaults
@@ -15,6 +15,15 @@ FCFLAGS="${CFLAGS}"
SYMLINK_LIB="no"
+# Note about LIBDIR_*:
+# 1) To keep in step with other arches and distributions we use "lib" for 32bit
+# and "lib64" for 64bit for the *default* ABI.
+# NOT the two level dirs from the specification, and NOT lib32 as specified
+# as 32bit fallback.
+# 2) The LIBDIRs provided *here* are the ones for secondary ABI in the multilib
+# case.
+# The LIBDIR for the *primary* ABI MUST be overridden in an inheriting profile.
+
# Flags for lp64d
LIBDIR_lp64d="lib64/lp64d"
CFLAGS_lp64d="-mabi=lp64d"
@@ -42,7 +51,8 @@ CHOST_ilp32="riscv32-unknown-linux-gnu"
# Since many people will want to test this in qemu...
FEATURES="-pid-sandbox -network-sandbox -ipc-sandbox"
-# The following stuff is, e.g., defined in subdirs:
+# The following stuff MUST be defined in subdirs:
# ABI
# DEFAULT_ABI
# MULTILIB_ABIS
+# LIBDIR_* for DEFAULT_ABI
diff --git a/profiles/arch/riscv/package.mask b/profiles/arch/riscv/package.mask
index 43580b7b49a0..3b8aa5520537 100644
--- a/profiles/arch/riscv/package.mask
+++ b/profiles/arch/riscv/package.mask
@@ -1,5 +1,5 @@
-# Copyright 2019 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Doesnt work properly with the two-level libdirs
-<dev-lang/python-3.7
+# Doesnt work properly with the one-level libdirs
+<sys-apps/baselayout-2.7-r3
diff --git a/profiles/arch/riscv/rv32imac/eapi b/profiles/arch/riscv/rv32imac/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/arch/riscv/rv32imac/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/arch/riscv/rv32imac/ilp32/make.defaults b/profiles/arch/riscv/rv32imac/ilp32/make.defaults
index 1065af43c9a8..702bf0db5663 100644
--- a/profiles/arch/riscv/rv32imac/ilp32/make.defaults
+++ b/profiles/arch/riscv/rv32imac/ilp32/make.defaults
@@ -1,9 +1,17 @@
-# Copyright 2019 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# RISC-V rv32imac/ilp32 no-multilib profile
-# We have only one ABI
+CHOST="riscv32-unknown-linux-gnu"
+
MULTILIB_ABIS="ilp32"
DEFAULT_ABI="ilp32"
ABI="ilp32"
+
+LIBDIR_ilp32="lib"
+
+CFLAGS="-O2 -pipe -march=rv32imac -mabi=ilp32"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
diff --git a/profiles/arch/riscv/rv32imac/package.mask b/profiles/arch/riscv/rv32imac/ilp32/package.mask
index fae8be793357..fae8be793357 100644
--- a/profiles/arch/riscv/rv32imac/package.mask
+++ b/profiles/arch/riscv/rv32imac/ilp32/package.mask
diff --git a/profiles/arch/riscv/rv32imac/ilp32/package.use.force b/profiles/arch/riscv/rv32imac/ilp32/package.use.force
deleted file mode 100644
index aacc29b1d56e..000000000000
--- a/profiles/arch/riscv/rv32imac/ilp32/package.use.force
+++ /dev/null
@@ -1,3 +0,0 @@
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
diff --git a/profiles/arch/riscv/rv32imac/ilp32/use.force b/profiles/arch/riscv/rv32imac/ilp32/use.force
deleted file mode 100644
index 82bb958a577a..000000000000
--- a/profiles/arch/riscv/rv32imac/ilp32/use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/arch/riscv/rv32imac/ilp32/use.mask b/profiles/arch/riscv/rv32imac/ilp32/use.mask
index 991c792750ad..9779cbad81b5 100644
--- a/profiles/arch/riscv/rv32imac/ilp32/use.mask
+++ b/profiles/arch/riscv/rv32imac/ilp32/use.mask
@@ -1,5 +1,5 @@
-# Copyright 2019 Gentoo Authors
+# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Mask multilib, since we do not want to use it.
-multilib
+# sys-libs/libseccomp has not been ported to rv32 yet
+seccomp
diff --git a/profiles/arch/riscv/rv32imac/ilp32d/make.defaults b/profiles/arch/riscv/rv32imac/ilp32d/make.defaults
index d19b0ba49931..d21fdce62781 100644
--- a/profiles/arch/riscv/rv32imac/ilp32d/make.defaults
+++ b/profiles/arch/riscv/rv32imac/ilp32d/make.defaults
@@ -1,12 +1,17 @@
-# Copyright 2019 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# RISC-V rv32imac/ilp32d no-multilib profile
+CHOST="riscv32-unknown-linux-gnu"
+
+MULTILIB_ABIS="ilp32d"
+DEFAULT_ABI="ilp32d"
+ABI="ilp32d"
+
+LIBDIR_ilp32d="lib"
+
CFLAGS="-O2 -pipe -march=rv32imafdc -mabi=ilp32d"
CXXFLAGS="${CFLAGS}"
FFLAGS="${CFLAGS}"
FCFLAGS="${CFLAGS}"
-
-# We have only one ABI
-MULTILIB_ABIS="ilp32d"
diff --git a/profiles/arch/riscv/rv32imac/use.mask b/profiles/arch/riscv/rv32imac/ilp32d/package.mask
index 9779cbad81b5..fae8be793357 100644
--- a/profiles/arch/riscv/rv32imac/use.mask
+++ b/profiles/arch/riscv/rv32imac/ilp32d/package.mask
@@ -1,5 +1,5 @@
-# Copyright 2019-2020 Gentoo Authors
+# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# sys-libs/libseccomp has not been ported to rv32 yet
-seccomp
+sys-libs/libseccomp
diff --git a/profiles/arch/riscv/rv32imac/ilp32d/package.use.force b/profiles/arch/riscv/rv32imac/ilp32d/package.use.force
deleted file mode 100644
index 9de5ab734497..000000000000
--- a/profiles/arch/riscv/rv32imac/ilp32d/package.use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/arch/riscv/rv32imac/ilp32d/use.mask b/profiles/arch/riscv/rv32imac/ilp32d/use.mask
index d8172baa5f5f..9779cbad81b5 100644
--- a/profiles/arch/riscv/rv32imac/ilp32d/use.mask
+++ b/profiles/arch/riscv/rv32imac/ilp32d/use.mask
@@ -1,5 +1,5 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Mask multilib, since we do not want to use it.
-multilib
+# sys-libs/libseccomp has not been ported to rv32 yet
+seccomp
diff --git a/profiles/arch/riscv/rv32imac/parent b/profiles/arch/riscv/rv32imac/parent
deleted file mode 100644
index 6ee1b9eff10c..000000000000
--- a/profiles/arch/riscv/rv32imac/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../features/multilib
diff --git a/profiles/arch/riscv/rv32imac/use.force b/profiles/arch/riscv/rv32imac/use.force
deleted file mode 100644
index 9de5ab734497..000000000000
--- a/profiles/arch/riscv/rv32imac/use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/arch/riscv/rv64gc/eapi b/profiles/arch/riscv/rv64gc/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/arch/riscv/rv64gc/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/arch/riscv/rv64gc/lp64/make.defaults b/profiles/arch/riscv/rv64gc/lp64/make.defaults
index 4aeb573215d2..e811f8eb643a 100644
--- a/profiles/arch/riscv/rv64gc/lp64/make.defaults
+++ b/profiles/arch/riscv/rv64gc/lp64/make.defaults
@@ -3,12 +3,15 @@
# RISC-V rv64gc/lp64 no-multilib profile
-CFLAGS="-O2 -pipe"
-CXXFLAGS="${CFLAGS}"
-FFLAGS="${CFLAGS}"
-FCFLAGS="${CFLAGS}"
+CHOST="riscv64-unknown-linux-gnu"
-# We have only one ABI
MULTILIB_ABIS="lp64"
DEFAULT_ABI="lp64"
ABI="lp64"
+
+LIBDIR_lp64="lib64"
+
+CFLAGS="-O2 -pipe -march=rv64imac -mabi=lp64"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
diff --git a/profiles/arch/riscv/rv64gc/lp64/package.use.force b/profiles/arch/riscv/rv64gc/lp64/package.use.force
deleted file mode 100644
index 9de5ab734497..000000000000
--- a/profiles/arch/riscv/rv64gc/lp64/package.use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/arch/riscv/rv64gc/lp64/use.force b/profiles/arch/riscv/rv64gc/lp64/use.force
deleted file mode 100644
index 9de5ab734497..000000000000
--- a/profiles/arch/riscv/rv64gc/lp64/use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/arch/riscv/rv64gc/lp64/use.mask b/profiles/arch/riscv/rv64gc/lp64/use.mask
deleted file mode 100644
index d8172baa5f5f..000000000000
--- a/profiles/arch/riscv/rv64gc/lp64/use.mask
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Mask multilib, since we do not want to use it.
-multilib
diff --git a/profiles/arch/riscv/1level/eapi b/profiles/arch/riscv/rv64gc/lp64d-multilib/eapi
index 7ed6ff82de6b..7ed6ff82de6b 100644
--- a/profiles/arch/riscv/1level/eapi
+++ b/profiles/arch/riscv/rv64gc/lp64d-multilib/eapi
diff --git a/profiles/arch/riscv/rv64gc/make.defaults b/profiles/arch/riscv/rv64gc/lp64d-multilib/make.defaults
index e35f63c8d1e1..3546d506abb7 100644
--- a/profiles/arch/riscv/rv64gc/make.defaults
+++ b/profiles/arch/riscv/rv64gc/lp64d-multilib/make.defaults
@@ -3,7 +3,7 @@
# RISC-V profile for rv64gc multilib
#
-# This immediate profile is ONLY useful for internal purposes; it can generate
+# This profile is ONLY useful for internal purposes; it can generate
# stages just fine, but the only "hardware" that can run them is qemu-user ...
CHOST="riscv64-unknown-linux-gnu"
@@ -12,3 +12,6 @@ CHOST="riscv64-unknown-linux-gnu"
MULTILIB_ABIS="lp64d lp64 ilp32d ilp32"
DEFAULT_ABI="lp64d"
ABI="lp64d"
+
+# One-level dir for the default abi
+LIBDIR_lp64d="lib64"
diff --git a/profiles/arch/riscv/rv64gc/lp64d-multilib/parent b/profiles/arch/riscv/rv64gc/lp64d-multilib/parent
new file mode 100644
index 000000000000..d6e19b529616
--- /dev/null
+++ b/profiles/arch/riscv/rv64gc/lp64d-multilib/parent
@@ -0,0 +1 @@
+../../../../features/multilib
diff --git a/profiles/arch/riscv/rv64gc/lp64d/make.defaults b/profiles/arch/riscv/rv64gc/lp64d/make.defaults
index f595f6ac4437..80a9bdad63ee 100644
--- a/profiles/arch/riscv/rv64gc/lp64d/make.defaults
+++ b/profiles/arch/riscv/rv64gc/lp64d/make.defaults
@@ -1,12 +1,17 @@
-# Copyright 2019 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# RISC-V rv64gc/lp64d no-multilib profile
+CHOST="riscv64-unknown-linux-gnu"
+
+MULTILIB_ABIS="lp64d"
+DEFAULT_ABI="lp64d"
+ABI="lp64d"
+
+LIBDIR_lp64d="lib64"
+
CFLAGS="-O2 -pipe -march=rv64gc -mabi=lp64d"
CXXFLAGS="${CFLAGS}"
FFLAGS="${CFLAGS}"
FCFLAGS="${CFLAGS}"
-
-# We have only one ABI
-MULTILIB_ABIS="lp64d"
diff --git a/profiles/arch/riscv/rv64gc/lp64d/package.use.force b/profiles/arch/riscv/rv64gc/lp64d/package.use.force
deleted file mode 100644
index 9de5ab734497..000000000000
--- a/profiles/arch/riscv/rv64gc/lp64d/package.use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/arch/riscv/rv64gc/lp64d/use.mask b/profiles/arch/riscv/rv64gc/lp64d/use.mask
deleted file mode 100644
index 991c792750ad..000000000000
--- a/profiles/arch/riscv/rv64gc/lp64d/use.mask
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Mask multilib, since we do not want to use it.
-multilib
diff --git a/profiles/arch/riscv/rv64gc/parent b/profiles/arch/riscv/rv64gc/parent
deleted file mode 100644
index 6ee1b9eff10c..000000000000
--- a/profiles/arch/riscv/rv64gc/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../features/multilib
diff --git a/profiles/arch/riscv/rv64gc/use.force b/profiles/arch/riscv/rv64gc/use.force
deleted file mode 100644
index 9de5ab734497..000000000000
--- a/profiles/arch/riscv/rv64gc/use.force
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/arch/riscv/rv64gc/use.mask b/profiles/arch/riscv/rv64gc/use.mask
deleted file mode 100644
index 9de5ab734497..000000000000
--- a/profiles/arch/riscv/rv64gc/use.mask
+++ /dev/null
@@ -1,2 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2