diff options
-rw-r--r-- | eclass/toolchain.eclass | 9 | ||||
-rw-r--r-- | profiles/base/package.use.mask | 4 | ||||
-rw-r--r-- | profiles/default/linux/amd64/package.use.mask | 4 | ||||
-rw-r--r-- | profiles/default/linux/arm/package.use.mask | 4 | ||||
-rw-r--r-- | profiles/default/linux/arm64/package.use.mask | 4 | ||||
-rw-r--r-- | profiles/default/linux/x86/package.use.mask | 4 | ||||
-rw-r--r-- | sys-devel/gcc/metadata.xml | 3 |
7 files changed, 30 insertions, 2 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index b875e198b367..992074084d2b 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 6e27a8ac813a..65d250d6c6e6 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 849557925956..3f60c80d6670 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 940aef7a0c03..3f4060930181 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 70af019e9e50..252007db419b 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 e9df847e899b..d49253b9a026 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 83745836d6dc..9e45459a2437 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> |