summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-08-20 23:34:52 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2020-08-20 23:48:53 +0100
commit618de7feba4b2063ee29bca02c413125022bf95d (patch)
treec62f56b4aae0ccaee8f756e53e6fd7fd937e39f1 /eclass
parentgnome-base/gconf: Avoid harmless "No such file or directory" message (diff)
downloadgentoo-618de7feba4b2063ee29bca02c413125022bf95d.tar.gz
gentoo-618de7feba4b2063ee29bca02c413125022bf95d.tar.bz2
gentoo-618de7feba4b2063ee29bca02c413125022bf95d.zip
toolchain.eclass: always enable --with-long-double-128 for glibc targets
Unless overridden glibc enables 128-bit 'long double' for glibc 2.4 and above. But with crossdev change 7283a01 ("set --without-headers by default") we don't install any headers for stage1-gcc. As a result gcc pessimistically disables 128-bit 'long double'. The change enables --with-long-double-128 for glibc targets for stage1-gcc. Reported-by: hanetzer@startmail.com Closes: https://bugs.gentoo.org/738248 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/toolchain.eclass8
1 files changed, 8 insertions, 0 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index db02ee6be509..a3c948a93526 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -912,6 +912,14 @@ toolchain_src_configure() {
--disable-threads
--without-headers
)
+ if [[ $needed_libc == glibc ]]; then
+ # By default gcc looks at glibc's headers
+ # to detect long double support. This does
+ # not work for --disable-headers mode.
+ # Any >=glibc-2.4 is good enough for float128.
+ # The option appeared in gcc-4.2.
+ confgcc+=( --with-long-double-128 )
+ fi
elif has_version "${CATEGORY}/${needed_libc}[headers-only(-)]" ; then
confgcc+=(
"${confgcc_no_libc[@]}"