On Wed, 28 Jun 2017 23:29:03 +0100
James Le Cuirot <[email protected]> wrote:

> > On Tue, Jun 27, 2017 at 6:44 PM, James Le Cuirot <[email protected]> wrote:  
> > > I am therefore proposing a new global big-endian flag. This could be
> > > masked by default and unmasked + forced in the relevant profiles under
> > > arch. I will apply this according to the mapping defined in tc-endian of
> > > toolchain-funcs.eclass.    
> 
> I've just been putting the patch together. I made it slightly simpler
> by masking *and* forcing it by default so that it only needs to be
> unmasked were necessary.

Feedback seems positive so here is the patch. I'll apply it late next
week as I don't need it immediately and I will be away until then.

---

From e6aaee518b5e7eab735116a2ea57d538a8e26c19 Mon Sep 17 00:00:00 2001
From: James Le Cuirot <[email protected]>
Date: Thu, 29 Jun 2017 22:11:49 +0100
Subject: [PATCH] profiles: Add profile-enforced global big-endian USE flag

The flag is forced and masked by default and then unmasked where
necessary. Note that there are some big endian host values listed in
tc-endian() that we do not have profiles for.
---
 profiles/arch/alpha/use.mask              | 4 ++++
 profiles/arch/arm64/big-endian/use.mask   | 6 ++++++
 profiles/arch/base/use.force              | 6 ++++++
 profiles/arch/base/use.mask               | 4 ++++
 profiles/arch/hppa/use.mask               | 4 ++++
 profiles/arch/m68k/use.mask               | 7 +++++++
 profiles/arch/mips/mipsel/use.mask        | 6 ++++++
 profiles/arch/mips/use.mask               | 4 ++++
 profiles/arch/powerpc/ppc64/64le/use.mask | 4 ++++
 profiles/arch/powerpc/use.mask            | 7 +++++++
 profiles/arch/s390/use.mask               | 7 +++++++
 profiles/arch/sparc/use.mask              | 4 ++++
 profiles/use.desc                         | 3 ++-
 13 files changed, 65 insertions(+), 1 deletion(-)
 create mode 100644 profiles/arch/arm64/big-endian/use.mask
 create mode 100644 profiles/arch/base/use.force
 create mode 100644 profiles/arch/mips/mipsel/use.mask

diff --git a/profiles/arch/alpha/use.mask b/profiles/arch/alpha/use.mask
index d488fe8a09f4..b17afe9d9d4d 100644
--- a/profiles/arch/alpha/use.mask
+++ b/profiles/arch/alpha/use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2017 Gentoo Foundation.
 # Distributed under the terms of the GNU General Public License, v2
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Unmask as this profile is big endian.
+-big-endian
+
 # Tobias Klausmann <[email protected]> (03 March 2017)
 # There is no luajit support on alpha. Bugs #554376, #608322.
 luajit
diff --git a/profiles/arch/arm64/big-endian/use.mask 
b/profiles/arch/arm64/big-endian/use.mask
new file mode 100644
index 000000000000..0a4af0711f5c
--- /dev/null
+++ b/profiles/arch/arm64/big-endian/use.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License, v2
+
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Unmask as this profile is big endian.
+-big-endian
diff --git a/profiles/arch/base/use.force b/profiles/arch/base/use.force
new file mode 100644
index 000000000000..7f213b9dd017
--- /dev/null
+++ b/profiles/arch/base/use.force
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Forced and masked by default. Unmask where necessary.
+big-endian
diff --git a/profiles/arch/base/use.mask b/profiles/arch/base/use.mask
index 1a4a39cefc13..2ea1fb3d89fa 100644
--- a/profiles/arch/base/use.mask
+++ b/profiles/arch/base/use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Forced and masked by default. Unmask where necessary.
+big-endian
+
 # Sven Wegener <[email protected]> (31 May 2017)
 # libvirt is only supported on specific architectures
 libvirt
diff --git a/profiles/arch/hppa/use.mask b/profiles/arch/hppa/use.mask
index 7361e2c52af2..bd158162a449 100644
--- a/profiles/arch/hppa/use.mask
+++ b/profiles/arch/hppa/use.mask
@@ -3,6 +3,10 @@
 # NOTE: When masking a USE flag due to missing keywords, please file a keyword
 # request bug for the hppa arch.
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Unmask as this profile is big endian.
+-big-endian
+
 # Andreas Sturmlechner <[email protected]> (25 Feb 2017)
 # kwallet integration split from kde to distinct flag
 kwallet
diff --git a/profiles/arch/m68k/use.mask b/profiles/arch/m68k/use.mask
index aac0e46e97c2..646567111d56 100644
--- a/profiles/arch/m68k/use.mask
+++ b/profiles/arch/m68k/use.mask
@@ -1,6 +1,13 @@
+# Copyright 1999-2017 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License, v2
+
 # Unmask the flag which corresponds to ARCH.
 -m68k
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Unmask as this profile is big endian.
+-big-endian
+
 hardened
 
 # Paul de Vrieze <[email protected]>
diff --git a/profiles/arch/mips/mipsel/use.mask 
b/profiles/arch/mips/mipsel/use.mask
new file mode 100644
index 000000000000..2a8cc7b0c76a
--- /dev/null
+++ b/profiles/arch/mips/mipsel/use.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Remask as this profile is little endian.
+big-endian
diff --git a/profiles/arch/mips/use.mask b/profiles/arch/mips/use.mask
index 09ac8ca4b2cc..6caff81617cb 100644
--- a/profiles/arch/mips/use.mask
+++ b/profiles/arch/mips/use.mask
@@ -4,6 +4,10 @@
 # Unmask the flag which corresponds to ARCH.
 -mips
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Unmask as this profile is big endian.
+-big-endian
+
 # Mart Raudsepp <[email protected]> (27 May 2017)
 # media-libs/libmtp not tested
 mtp
diff --git a/profiles/arch/powerpc/ppc64/64le/use.mask 
b/profiles/arch/powerpc/ppc64/64le/use.mask
index 2419ed9b6428..b8ad07b24a5a 100644
--- a/profiles/arch/powerpc/ppc64/64le/use.mask
+++ b/profiles/arch/powerpc/ppc64/64le/use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Remask as this profile is little endian.
+big-endian
+
 # 2008/02/13 - Chris Gianelloni <[email protected]>
 # Mask multilib, since we cannot use it.
 multilib
diff --git a/profiles/arch/powerpc/use.mask b/profiles/arch/powerpc/use.mask
index 6f993c6628c0..02e97b16f06d 100644
--- a/profiles/arch/powerpc/use.mask
+++ b/profiles/arch/powerpc/use.mask
@@ -1,6 +1,13 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
 # PPC Specific use flags
 #
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Forced and masked by default. Unmask where necessary.
+big-endian
+
 # Matt Turner <[email protected]> (24 Mar 2017)
 # virtual/opencl is not keyworded
 opencl
diff --git a/profiles/arch/s390/use.mask b/profiles/arch/s390/use.mask
index 91dda10d0408..18637daa1445 100644
--- a/profiles/arch/s390/use.mask
+++ b/profiles/arch/s390/use.mask
@@ -1,9 +1,16 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
 # Unmask the flag which corresponds to ARCH.
 -s390
 
 # Unmask ABI flags for this arch.
 -abi_s390_32
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Unmask as this profile is big endian.
+-big-endian
+
 # Stuff we don't want/not tested
 pbins
 R
diff --git a/profiles/arch/sparc/use.mask b/profiles/arch/sparc/use.mask
index be19f2f7ed54..0d3e7049cf28 100644
--- a/profiles/arch/sparc/use.mask
+++ b/profiles/arch/sparc/use.mask
@@ -6,6 +6,10 @@
 
 # This file contains a list of useflags that cannot be used on sparc.
 
+# James Le Cuirot <[email protected]> (29 Jun 2017)
+# Unmask as this profile is big endian.
+-big-endian
+
 # Andreas Sturmlechner <[email protected]> (25 Feb 2017)
 # kwallet integration split from kde to distinct flag
 kwallet
diff --git a/profiles/use.desc b/profiles/use.desc
index 127c9935fa2a..9501b38fe33d 100644
--- a/profiles/use.desc
+++ b/profiles/use.desc
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 # Keep them sorted
@@ -30,6 +30,7 @@ bash-completion - Enable bash-completion support
 bcmath - Add support for libbcmath
 berkdb - Add support for sys-libs/db (Berkeley DB for MySQL)
 bidi - Enable bidirectional language support
+big-endian - Big-endian toolchain support
 bindist - Flag to enable or disable options for prebuilt (GRP) packages (eg. 
due to licensing issues)
 blas - Add support for the virtual/blas numerical library
 bluetooth - Enable Bluetooth Support
-- 
2.13.1

Attachment: pgpNKsFtk2l_w.pgp
Description: OpenPGP digital signature

Reply via email to