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