summaryrefslogtreecommitdiff
path: root/eclass/toolchain-glibc.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-12-20 11:17:21 +0000
committerV3n3RiX <venerix@redcorelinux.org>2017-12-20 11:17:21 +0000
commit48bdeb0db9c7ffed22c6eb859ee40b55ba598b86 (patch)
treef88035a58c20099cf45a576fb53b0330a4754f14 /eclass/toolchain-glibc.eclass
parent0fb71e0215ed52863e462cccef73c01aff44d43d (diff)
gentoo resync : 20.12.2017
Diffstat (limited to 'eclass/toolchain-glibc.eclass')
-rw-r--r--eclass/toolchain-glibc.eclass11
1 files changed, 11 insertions, 0 deletions
diff --git a/eclass/toolchain-glibc.eclass b/eclass/toolchain-glibc.eclass
index 6580be2fb1e0..d9c692f2ad8f 100644
--- a/eclass/toolchain-glibc.eclass
+++ b/eclass/toolchain-glibc.eclass
@@ -815,6 +815,17 @@ glibc_do_configure() {
esac
fi
+ # 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
+
if version_is_at_least 2.25 ; then
myconf+=( --enable-stackguard-randomization )
else