* [gentoo-commits] repo/gentoo:master commit in: profiles/default/linux/x86/, profiles/default/linux/arm/, ...
@ 2016-05-09 2:19 Mike Frysinger
0 siblings, 0 replies; only message in thread
From: Mike Frysinger @ 2016-05-09 2:19 UTC (permalink / raw
To: gentoo-commits
commit: 0f4dd949d7671bd86610836d5ac270430be37a4c
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon May 9 01:57:57 2016 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon May 9 02:15:23 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f4dd949
sys-devel/gcc: add USE=vtv support for vtable verification #547040
eclass/toolchain.eclass | 9 ++++++++-
profiles/base/package.use.mask | 4 ++++
profiles/default/linux/amd64/package.use.mask | 4 ++++
profiles/default/linux/arm/package.use.mask | 4 ++++
profiles/default/linux/arm64/package.use.mask | 4 ++++
profiles/default/linux/x86/package.use.mask | 4 ++++
sys-devel/gcc/metadata.xml | 3 ++-
7 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b875e19..9920740 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -152,7 +152,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
# versions which we dropped. Since graphite was also experimental in
# 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"
+ tc_version_is_at_least 4.9 && IUSE+=" cilk +vtv"
tc_version_is_at_least 5.0 && IUSE+=" jit"
tc_version_is_at_least 6.0 && IUSE+=" pie +ssp"
fi
@@ -1165,6 +1165,13 @@ toolchain_src_configure() {
confgcc+=( $(use_enable cilk libcilkrts) )
fi
+ if in_iuse vtv ; then
+ confgcc+=(
+ $(use_enable vtv vtable-verify)
+ $(use_enable vtv libvtv)
+ )
+ fi
+
# newer gcc's come with libquadmath, but only fortran uses
# it, so auto punt it when we don't care
if tc_version_is_at_least 4.6 && ! is_fortran ; then
diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask
index 6e27a8a..65d250d 100644
--- a/profiles/base/package.use.mask
+++ b/profiles/base/package.use.mask
@@ -5,6 +5,10 @@
# This file requires >=portage-2.1.1
# New entries go on top.
+# Mike Frysinger <vapier@gentoo.org> (08 May 2016)
+# Most targets do not support VTV #547040.
+sys-devel/gcc vtv
+
# Matthew Brewer <tomboy64@sina.cn> (08 May 2016)
# Upstream supports using Clang's address sanitizer, but apparently
# invokes it wrong.
diff --git a/profiles/default/linux/amd64/package.use.mask b/profiles/default/linux/amd64/package.use.mask
index 8495579..3f60c80 100644
--- a/profiles/default/linux/amd64/package.use.mask
+++ b/profiles/default/linux/amd64/package.use.mask
@@ -2,6 +2,10 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
+# Mike Frysinger <vapier@gentoo.org> (08 May 2016)
+# This target supports VTV #547040.
+>=sys-devel/gcc-4.9 -vtv
+
# Mike Frysinger <vapier@gentoo.org> (21 Oct 2014)
# This target supports ASAN/etc... #504200.
sys-devel/gcc -sanitize
diff --git a/profiles/default/linux/arm/package.use.mask b/profiles/default/linux/arm/package.use.mask
index 940aef7..3f40609 100644
--- a/profiles/default/linux/arm/package.use.mask
+++ b/profiles/default/linux/arm/package.use.mask
@@ -2,6 +2,10 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
+# Mike Frysinger <vapier@gentoo.org> (08 May 2016)
+# This target supports VTV #547040.
+>=sys-devel/gcc-6 -vtv
+
# Mike Frysinger <vapier@gentoo.org> (21 Oct 2014)
# This target supports ASAN/etc... #504200.
>=sys-devel/gcc-4.9.0 -sanitize
diff --git a/profiles/default/linux/arm64/package.use.mask b/profiles/default/linux/arm64/package.use.mask
index 70af019..252007d 100644
--- a/profiles/default/linux/arm64/package.use.mask
+++ b/profiles/default/linux/arm64/package.use.mask
@@ -2,6 +2,10 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
+# Mike Frysinger <vapier@gentoo.org> (08 May 2016)
+# This target supports VTV #547040.
+>=sys-devel/gcc-6 -vtv
+
# Mike Frysinger <vapier@gentoo.org> (22 Mar 2016)
# This target supports ASAN/etc... #504200.
>=sys-devel/gcc-5 -sanitize
diff --git a/profiles/default/linux/x86/package.use.mask b/profiles/default/linux/x86/package.use.mask
index e9df847..d49253b 100644
--- a/profiles/default/linux/x86/package.use.mask
+++ b/profiles/default/linux/x86/package.use.mask
@@ -2,6 +2,10 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
+# Mike Frysinger <vapier@gentoo.org> (08 May 2016)
+# This target supports VTV #547040.
+>=sys-devel/gcc-4.9 -vtv
+
# Mike Frysinger <vapier@gentoo.org> (21 Oct 2014)
# This target supports ASAN/etc... #504200.
sys-devel/gcc -sanitize
diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 8374583..9e45459 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -28,7 +28,8 @@
<flag name="objc-gc">Build support for the Objective C code language Garbage
Collector</flag>
<flag name="regression-test">Run the testsuite and install the results (requires FEATURES=test)</flag>
- <flag name="sanitize">Build support various sanitizer functions (ASAN/TSAN/etc...)</flag>
+ <flag name="sanitize">Build support for various sanitizer functions (ASAN/TSAN/etc...)</flag>
+ <flag name="vtv">Build support for virtual table verification (a C++ hardening feature)</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:gnu:gcc</remote-id>
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-05-09 2:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-09 2:19 [gentoo-commits] repo/gentoo:master commit in: profiles/default/linux/x86/, profiles/default/linux/arm/, Mike Frysinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox