commit:     519631a417eb4f8d2ffd4c850a08e82b08ba6696
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed May 11 05:22:27 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed May 11 13:49:59 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=519631a4

sys-devel/gcc: add USE=mpx support for Intel MPX #578396

 eclass/toolchain.eclass          | 6 +++++-
 profiles/arch/amd64/use.mask     | 2 ++
 profiles/arch/x86/use.mask       | 2 ++
 profiles/base/use.mask           | 2 ++
 profiles/desc/cpu_flags_x86.desc | 1 +
 sys-devel/gcc/metadata.xml       | 1 +
 6 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9920740..08813a9 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -153,7 +153,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
        # the older versions, we don't want to bother supporting it.  #448024
        tc_version_is_at_least 4.8 && IUSE+=" graphite" IUSE_DEF+=( sanitize )
        tc_version_is_at_least 4.9 && IUSE+=" cilk +vtv"
-       tc_version_is_at_least 5.0 && IUSE+=" jit"
+       tc_version_is_at_least 5.0 && IUSE+=" jit mpx"
        tc_version_is_at_least 6.0 && IUSE+=" pie +ssp"
 fi
 
@@ -1165,6 +1165,10 @@ toolchain_src_configure() {
                confgcc+=( $(use_enable cilk libcilkrts) )
        fi
 
+       if in_iuse mpx ; then
+               confgcc+=( $(use_enable mpx libmpx) )
+       fi
+
        if in_iuse vtv ; then
                confgcc+=(
                        $(use_enable vtv vtable-verify)

diff --git a/profiles/arch/amd64/use.mask b/profiles/arch/amd64/use.mask
index 614d355..acdbc57 100644
--- a/profiles/arch/amd64/use.mask
+++ b/profiles/arch/amd64/use.mask
@@ -147,6 +147,7 @@
 # SIMD assembler flags
 -mmx
 -mmxext
+-mpx
 -sse
 -sse2
 -sse3
@@ -172,6 +173,7 @@
 -cpu_flags_x86_fma4
 -cpu_flags_x86_mmx
 -cpu_flags_x86_mmxext
+-cpu_flags_x86_mpx
 -cpu_flags_x86_padlock
 -cpu_flags_x86_popcnt
 -cpu_flags_x86_sse

diff --git a/profiles/arch/x86/use.mask b/profiles/arch/x86/use.mask
index 6b71e56..bb9bd58 100644
--- a/profiles/arch/x86/use.mask
+++ b/profiles/arch/x86/use.mask
@@ -112,6 +112,7 @@
 -lilo
 -mmx
 -mmxext
+-mpx
 -sse
 -sse2
 -sse3
@@ -139,6 +140,7 @@
 -cpu_flags_x86_fma4
 -cpu_flags_x86_mmx
 -cpu_flags_x86_mmxext
+-cpu_flags_x86_mpx
 -cpu_flags_x86_padlock
 -cpu_flags_x86_popcnt
 -cpu_flags_x86_sse

diff --git a/profiles/base/use.mask b/profiles/base/use.mask
index ecf733e..f3ee065 100644
--- a/profiles/base/use.mask
+++ b/profiles/base/use.mask
@@ -74,6 +74,7 @@ kqemu
 lilo
 mmx
 mmxext
+mpx
 sse
 sse2
 sse3
@@ -100,6 +101,7 @@ cpu_flags_x86_fma3
 cpu_flags_x86_fma4
 cpu_flags_x86_mmx
 cpu_flags_x86_mmxext
+cpu_flags_x86_mpx
 cpu_flags_x86_padlock
 cpu_flags_x86_popcnt
 cpu_flags_x86_sse

diff --git a/profiles/desc/cpu_flags_x86.desc b/profiles/desc/cpu_flags_x86.desc
index 7aaab7e..4a12cc6 100644
--- a/profiles/desc/cpu_flags_x86.desc
+++ b/profiles/desc/cpu_flags_x86.desc
@@ -15,6 +15,7 @@ fma3 - Use the Fused Multiply Add 3 instruction set ([fma] in 
cpuinfo)
 fma4 - Use the Fused Multiply Add 4 instruction set
 mmx - Use the MMX instruction set
 mmxext - Use the Extended MMX instruction set (a subset of SSE) ([mmxext] or 
[sse] in cpuinfo)
+mpx - Use Memory Protection Extensions (MPX)
 padlock - Use VIA padlock instructions ([phe] in cpuinfo)
 popcnt - Enable popcnt instruction support ([abm] or [popcnt] in cpuinfo)
 sse - Use the SSE instruction set

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 9e45459..7b6c493 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -19,6 +19,7 @@
       This will slow down the compiler a bit as it forces all of the toolchain 
to be shared libs.</flag>
     <flag name="libssp">Build SSP support into a dedicated library rather than 
use the
       code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT 
DOES)</flag>
+    <flag name="mpx">Enable support for Intel Memory Protection Extensions 
(MPX)</flag>
     <flag name="mudflap">Add support for mudflap, a pointer use checking 
library</flag>
     <flag name="multislot">Allow for multiple versions to be emerged at once 
for same CTARGET</flag>
     <flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag>

Reply via email to