diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2020-08-20 23:34:52 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-08-20 23:48:53 +0100 |
commit | 618de7feba4b2063ee29bca02c413125022bf95d (patch) | |
tree | c62f56b4aae0ccaee8f756e53e6fd7fd937e39f1 /eclass | |
parent | gnome-base/gconf: Avoid harmless "No such file or directory" message (diff) | |
download | gentoo-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.eclass | 8 |
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[@]}" |