On Wed, 28 Jun 2017 23:29:03 +0100 James Le Cuirot wrote: > > On Tue, Jun 27, 2017 at 6:44 PM, James Le Cuirot 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 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 (29 Jun 2017) +# Unmask as this profile is big endian. +-big-endian + # Tobias Klausmann (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 (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 (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 (29 Jun 2017) +# Forced and masked by default. Unmask where necessary. +big-endian + # Sven Wegener (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 (29 Jun 2017) +# Unmask as this profile is big endian. +-big-endian + # Andreas Sturmlechner (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 (29 Jun 2017) +# Unmask as this profile is big endian. +-big-endian + hardened # Paul de Vrieze 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 (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 (29 Jun 2017) +# Unmask as this profile is big endian. +-big-endian + # Mart Raudsepp (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 (29 Jun 2017) +# Remask as this profile is little endian. +big-endian + # 2008/02/13 - Chris Gianelloni # 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 (29 Jun 2017) +# Forced and masked by default. Unmask where necessary. +big-endian + # Matt Turner (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 (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 (29 Jun 2017) +# Unmask as this profile is big endian. +-big-endian + # Andreas Sturmlechner (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