commit:     91966aedd03d633af8476d824e2ee83a5181cc26
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Wed May 16 21:54:38 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Wed May 16 22:01:18 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91966aed

toolchain.eclass: add IUSE=systemtap to gcc-8

Avoid automagic dependency on systemtap installed.

Reported-by: lekto <AT> o2.pl
Bug: https://bugs.gentoo.org/654748
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 eclass/toolchain.eclass    | 11 +++++++++++
 sys-devel/gcc/metadata.xml |  1 +
 2 files changed, 12 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 47ee5495739..68e4ce15b37 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -154,6 +154,8 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
        tc_version_is_at_least 4.9 && IUSE+=" +vtv"
        tc_version_is_at_least 5.0 && IUSE+=" jit mpx"
        tc_version_is_at_least 6.0 && IUSE+=" +pie +ssp +pch"
+       # systemtap is a gentoo-specific switch: bug #654748
+       tc_version_is_at_least 8.0 && IUSE+=" systemtap"
 fi
 
 IUSE+=" ${IUSE_DEF[*]/#/+}"
@@ -220,6 +222,11 @@ if in_iuse gcj ; then
        DEPEND+=" gcj? ( awt? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )"
 fi
 
+if in_iuse systemtap ; then
+       # gcc needs sys/sdt.h headers on target
+       DEPEND+=" systemtap? ( dev-util/systemtap )"
+fi
+
 PDEPEND=">=sys-devel/gcc-config-1.7"
 
 #---->> S + SRC_URI essentials <<----
@@ -1229,6 +1236,10 @@ toolchain_src_configure() {
                confgcc+=( $(use_enable mpx libmpx) )
        fi
 
+       if in_iuse systemtap ; then
+               confgcc+=( $(use_enable systemtap) )
+       fi
+
        if in_iuse vtv ; then
                confgcc+=(
                        $(use_enable vtv vtable-verify)

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 52748bc1ff6..51f143604eb 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -31,6 +31,7 @@
     <flag name="regression-test">Run the testsuite and install the results 
(requires FEATURES=test)</flag>
     <flag name="sanitize">Build support for various sanitizer functions 
(ASAN/TSAN/etc...)</flag>
     <flag name="ssp">Build packages with stack smashing protector on by 
default</flag>
+    <flag name="systemtap">enable systemtap static probe points</flag>
     <flag name="vtv">Build support for virtual table verification (a C++ 
hardening feature)</flag>
   </use>
   <upstream>

Reply via email to