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>
This commit is contained in:
Sergei Trofimovich
2020-08-20 23:34:52 +01:00
parent 97292f63c1
commit 618de7feba

View File

@@ -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[@]}"