diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-10-19 17:32:20 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-10-23 15:46:38 +0000 |
commit | 04acd597943e90147e4bc139911564788e04ae51 (patch) | |
tree | b1654a327f89753c6fe8e2085d1edff07129918f | |
parent | b1b8d8aa95a055dc7929259679a995189d444809 (diff) | |
download | glibc-04acd597943e90147e4bc139911564788e04ae51.tar.gz glibc-04acd597943e90147e4bc139911564788e04ae51.tar.xz glibc-04acd597943e90147e4bc139911564788e04ae51.zip |
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 <https://sourceware.org/ml/libc-testresults/2017-q4/msg00130.html>). [BZ #22322] * sysdeps/mips/bits/long-double.h: Move to .... * sysdeps/mips/ieee754/bits/long-double.h: ... here. (cherry picked from commit 37bb78cb8c1fb6b5813407c8856b1557359e6343)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | sysdeps/mips/ieee754/bits/long-double.h (renamed from sysdeps/mips/bits/long-double.h) | 0 |
3 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 6e53277670..7a3bcf7de0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-10-19 Joseph Myers <joseph@codesourcery.com> + + [BZ #22322] + * sysdeps/mips/bits/long-double.h: Move to .... + * sysdeps/mips/ieee754/bits/long-double.h: ... here. + 2017-10-17 Romain Naour <romain.naour@gmail.com> (tiny change) [BZ #22296] diff --git a/NEWS b/NEWS index bf4fd66c82..cd6636d0e0 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 index 604188e181..604188e181 100644 --- a/sysdeps/mips/bits/long-double.h +++ b/sysdeps/mips/ieee754/bits/long-double.h |