From: Joseph Myers Date: Thu, 19 Oct 2017 17:32:20 +0000 (+0000) Subject: Install correct bits/long-double.h for MIPS64 (bug 22322). X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04acd597943e90147e4bc139911564788e04ae51;p=thirdparty%2Fglibc.git Install correct bits/long-double.h for MIPS64 (bug 22322). Similar to bug 21987 for SPARC, MIPS64 wrongly installs the ldbl-128 version of bits/long-double.h, meaning incorrect results when using headers installed from a 64-bit installation for a 32-bit build. (I haven't actually seen this cause build failures before its interaction with bits/floatn.h did so - installed headers wrongly expecting _Float128 to be available in a 32-bit configuration.) This patch fixes the bug by moving the MIPS header to sysdeps/mips/ieee754, which comes before sysdeps/ieee754/ldbl-128 in the sysdeps directory ordering. (bits/floatn.h will need a similar fix - duplicating the ldbl-128 version for MIPS will suffice - for headers from a 32-bit installation to be correct for 64-bit builds.) Tested with build-many-glibcs.py (compilers build for mips64-linux-gnu, where there was previously a libstdc++ build failure as at ). [BZ #22322] * sysdeps/mips/bits/long-double.h: Move to .... * sysdeps/mips/ieee754/bits/long-double.h: ... here. (cherry picked from commit 37bb78cb8c1fb6b5813407c8856b1557359e6343) --- diff --git a/ChangeLog b/ChangeLog index 6e532776708..7a3bcf7de06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-10-19 Joseph Myers + + [BZ #22322] + * sysdeps/mips/bits/long-double.h: Move to .... + * sysdeps/mips/ieee754/bits/long-double.h: ... here. + 2017-10-17 Romain Naour (tiny change) [BZ #22296] diff --git a/NEWS b/NEWS index bf4fd66c82b..cd6636d0e00 100644 --- a/NEWS +++ b/NEWS @@ -49,6 +49,7 @@ The following bugs are resolved with this release: [22296] Let signbit use the builtin in C++ mode with gcc < 6.x [22320] glob: Fix one-byte overflow (CVE-2017-15670) [22321] sysconf: Fix missing definition of UIO_MAXIOV on Linux + [22322] libc: [mips64] wrong bits/long-double.h installed [22325] glibc: Memory leak in glob with GLOB_TILDE (CVE-2017-15671) Version 2.26 diff --git a/sysdeps/mips/bits/long-double.h b/sysdeps/mips/ieee754/bits/long-double.h similarity index 100% rename from sysdeps/mips/bits/long-double.h rename to sysdeps/mips/ieee754/bits/long-double.h