commit:     cd833222cbaef1cd344f3b06c528b858c06dc04a
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 11 20:17:33 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu Feb 11 20:21:56 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd833222

sys-devel/binutils: make CET optional (and disabled by default)

Reported-by: subzero_ro <AT> yahoo.com
Bug: https://bugs.gentoo.org/770061
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-devel/binutils/binutils-2.35.1-r1.ebuild | 7 ++++++-
 sys-devel/binutils/binutils-2.35.2.ebuild    | 7 ++++++-
 sys-devel/binutils/binutils-2.36.1.ebuild    | 7 ++++++-
 sys-devel/binutils/binutils-9999.ebuild      | 7 ++++++-
 sys-devel/binutils/metadata.xml              | 1 +
 5 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/sys-devel/binutils/binutils-2.35.1-r1.ebuild 
b/sys-devel/binutils/binutils-2.35.1-r1.ebuild
index a98e259e36a..516f5642244 100644
--- a/sys-devel/binutils/binutils-2.35.1-r1.ebuild
+++ b/sys-devel/binutils/binutils-2.35.1-r1.ebuild
@@ -8,7 +8,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib 
toolchain-funcs
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
 LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
 REQUIRED_USE="default-gold? ( gold )"
 
 # Variables that can be set here  (ignored for live ebuilds)
@@ -265,6 +265,11 @@ src_configure() {
                # avoid automagic dependency on (currently prefix) systems
                # systems with debuginfod library, bug #754753
                --without-debuginfod
+
+               # Allow user to opt into CET for host libraries.
+               # Ideally we would like automagic-or-disabled here.
+               # But the check does not quite work on i686: bug #760926.
+               $(use_enable cet)
        )
        echo ./configure "${myconf[@]}"
        "${S}"/configure "${myconf[@]}" || die

diff --git a/sys-devel/binutils/binutils-2.35.2.ebuild 
b/sys-devel/binutils/binutils-2.35.2.ebuild
index dae533747ec..2aff2770014 100644
--- a/sys-devel/binutils/binutils-2.35.2.ebuild
+++ b/sys-devel/binutils/binutils-2.35.2.ebuild
@@ -8,7 +8,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib 
toolchain-funcs
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
 LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
 REQUIRED_USE="default-gold? ( gold )"
 
 # Variables that can be set here  (ignored for live ebuilds)
@@ -264,6 +264,11 @@ src_configure() {
                # avoid automagic dependency on (currently prefix) systems
                # systems with debuginfod library, bug #754753
                --without-debuginfod
+
+               # Allow user to opt into CET for host libraries.
+               # Ideally we would like automagic-or-disabled here.
+               # But the check does not quite work on i686: bug #760926.
+               $(use_enable cet)
        )
        echo ./configure "${myconf[@]}"
        "${S}"/configure "${myconf[@]}" || die

diff --git a/sys-devel/binutils/binutils-2.36.1.ebuild 
b/sys-devel/binutils/binutils-2.36.1.ebuild
index 209b2daf9db..3d820fcc6f8 100644
--- a/sys-devel/binutils/binutils-2.36.1.ebuild
+++ b/sys-devel/binutils/binutils-2.36.1.ebuild
@@ -8,7 +8,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib 
toolchain-funcs
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
 LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
 REQUIRED_USE="default-gold? ( gold )"
 
 # Variables that can be set here  (ignored for live ebuilds)
@@ -264,6 +264,11 @@ src_configure() {
                # avoid automagic dependency on (currently prefix) systems
                # systems with debuginfod library, bug #754753
                --without-debuginfod
+
+               # Allow user to opt into CET for host libraries.
+               # Ideally we would like automagic-or-disabled here.
+               # But the check does not quite work on i686: bug #760926.
+               $(use_enable cet)
        )
        echo ./configure "${myconf[@]}"
        "${S}"/configure "${myconf[@]}" || die

diff --git a/sys-devel/binutils/binutils-9999.ebuild 
b/sys-devel/binutils/binutils-9999.ebuild
index 50d528443d7..014a2d71612 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -8,7 +8,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib 
toolchain-funcs
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
 LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test 
vanilla"
 REQUIRED_USE="default-gold? ( gold )"
 
 # Variables that can be set here  (ignored for live ebuilds)
@@ -265,6 +265,11 @@ src_configure() {
                # avoid automagic dependency on (currently prefix) systems
                # systems with debuginfod library, bug #754753
                --without-debuginfod
+
+               # Allow user to opt into CET for host libraries.
+               # Ideally we would like automagic-or-disabled here.
+               # But the check does not quite work on i686: bug #760926.
+               $(use_enable cet)
        )
        echo ./configure "${myconf[@]}"
        "${S}"/configure "${myconf[@]}" || die

diff --git a/sys-devel/binutils/metadata.xml b/sys-devel/binutils/metadata.xml
index 66f4f23df42..165a135caf6 100644
--- a/sys-devel/binutils/metadata.xml
+++ b/sys-devel/binutils/metadata.xml
@@ -6,6 +6,7 @@
                <name>Gentoo Toolchain Project</name>
        </maintainer>
        <use>
+               <flag name="cet">Enable Intel Control-flow Enforcement 
Technology.</flag>
                <flag name="default-gold">Set ld to point to ld.gold instead of 
ld.bfd</flag>
                <flag name="gold">Build ld.gold linker</flag>
                <flag name="plugins">Enable plugin support in tools</flag>

Reply via email to