commit: 2695b3da15699bdf40098dd409b32f9d87a9cc5c Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org> AuthorDate: Fri Aug 3 20:19:57 2018 +0000 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org> CommitDate: Fri Aug 3 20:20:44 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2695b3da
sys-libs/glibc: Add rudimentary Intel CET support (since glibc-2.29) Before unmasking this flag we still need to add checks for binutils >=2.29 and gcc >=8 ... Package-Manager: Portage-2.3.44, Repoman-2.3.10 sys-libs/glibc/glibc-9999.ebuild | 8 +++++++- sys-libs/glibc/metadata.xml | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index f51a7785067..82232b67b6d 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -33,7 +33,7 @@ PATCH_VER=7 SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2" SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -IUSE="audit caps compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap test vanilla" +IUSE="audit caps cet compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -841,6 +841,12 @@ glibc_do_configure() { *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; esac + # Enable Intel Control-flow Enforcement Technology on amd64 if requested + case ${CTARGET} in + x86_64-*) myconf+=( $(use_enable cet) ) ;; + *) ;; + esac + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) myconf+=( --enable-kernel=${MIN_KERN_VER} ) diff --git a/sys-libs/glibc/metadata.xml b/sys-libs/glibc/metadata.xml index 89da155531e..8079534faf1 100644 --- a/sys-libs/glibc/metadata.xml +++ b/sys-libs/glibc/metadata.xml @@ -14,6 +14,7 @@ <flag name="rpc">Enable obsolete RPC/NIS layers</flag> <flag name="suid">Make internal pt_chown helper setuid -- not needed if using Linux and have /dev/pts mounted with gid=5</flag> <flag name="systemtap">enable systemtap static probe points</flag> + <flag name="cet">Enable Intel Control-flow Enforcement Technology (needs binutils 2.29 and gcc 8)</flag> </use> <upstream> <remote-id type="cpe">cpe:/a:gnu:glibc</remote-id>
