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>