summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-12-20 12:37:04 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2017-12-20 12:37:21 +0000
commit2094540085135ecf4ec79d9cd9bb2df598d8083b (patch)
tree839bad07743143b8039589be18d5fd5b52425b7f
parent07e85792252bf97443401ee3cce5360352f638d9 (diff)
downloadgentoo-2094540085135ecf4ec79d9cd9bb2df598d8083b.tar.gz
gentoo-2094540085135ecf4ec79d9cd9bb2df598d8083b.tar.xz
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 <slyfox@gentoo.org> Package-Manager: Portage-2.3.19, Repoman-2.3.6
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 68d17a22469..a5bf3b51ebc 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} )