From: Sergei Trofimovich Date: Wed, 20 Dec 2017 12:37:04 +0000 (+0000) Subject: sys-libs/glibc: enable IFUNC support only on whitelisted ARCHes, bug #641216 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=2094540085135ecf4ec79d9cd9bb2df598d8083b;p=gentoo.git sys-libs/glibc: enable IFUNC support only on whitelisted ARCHes, bug #641216 Apply commit ac450135f29ef850303589af998373d936955476 to -9999 as well. ("sys-libs/glibc: enable IFUNC support only on whitelisted ARCHes, bug #641216") Reported-by: Émeric Maschino Bug: https://sourceware.org/PR22634 Closes: https://bugs.gentoo.org/641216 Signed-off-by: Sergei Trofimovich Package-Manager: Portage-2.3.19, Repoman-2.3.6 --- diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 68d17a224695..a5bf3b51ebc1 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -342,6 +342,17 @@ glibc_do_configure() { esac myconf+=( --enable-stackguard-randomization ) + # Keep a whitelist of targets supporing IFUNC. glibc's ./configure + # is not robust enough to detect proper support: + # https://bugs.gentoo.org/641216 + # https://sourceware.org/PR22634#c0 + case $(tc-arch ${CTARGET}) in + # Keep whitelist of targets where autodetection mostly works. + amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;; + # Blacklist everywhere else + *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; + esac + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) myconf+=( --enable-kernel=${NPTL_KERN_VER} )