This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26.9000-725-g4e2dff6
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 6 Nov 2017 13:26:40 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26.9000-725-g4e2dff6
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 4e2dff67beeb063cb36fe100d9d2b3f2f88d80c6 (commit)
from a1c7cd3c72e5002739161ba35c90944b3ad05c9f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4e2dff67beeb063cb36fe100d9d2b3f2f88d80c6
commit 4e2dff67beeb063cb36fe100d9d2b3f2f88d80c6
Author: Joseph Myers <joseph@codesourcery.com>
Date: Mon Nov 6 13:26:15 2017 +0000
Do not declare _Float128 support for powerpc64le -mlong-double-64 (bug 22402).
The powerpc bits/floatn.h declares _Float128 support to be present
when the compiler supports it for powerpc64le. However, in the case
where -mlong-double-64 is used, __MATH_TG does not actually support
_Float128; it only supports _Float128 in the distinct-long-double
case.
This shows up as a build failure when building glibc mainline with GCC
mainline, given the recently added sanity check in math.h for
configurations supported by __MATH_TG, as the compat code for
-mlong-double-64 fails to build. However, the bug was logically
present before that change (including in 2.26), just less visible.
This patch fixes the build failure by declaring _Float128 to be
unsupported in that case. (Of course this can't actually stop users
calling the type-generic macros with _Float128 arguments with
-mlong-double-64, just as they could be called with other unsupported
types on other platforms, but perhaps makes it less likely by making
all the type-specific _Float128 interfaces invisible in that case.)
Tested compilation for powerpc64le with build-many-glibcs.py.
[BZ #22402]
* sysdeps/powerpc/bits/floatn.h: Include <bits/long-double.h>.
[__NO_LONG_DOUBLE_MATH] (__HAVE_FLOAT128): Define to 0.
diff --git a/ChangeLog b/ChangeLog
index f6f3ebf..acd573c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-11-06 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #22402]
+ * sysdeps/powerpc/bits/floatn.h: Include <bits/long-double.h>.
+ [__NO_LONG_DOUBLE_MATH] (__HAVE_FLOAT128): Define to 0.
+
2017-11-04 Mike FABIAN <mfabian@redhat.com>
* localedata/locales/tpi_PG (LC_TIME): Fix wrong d_fmt, / needs
diff --git a/sysdeps/powerpc/bits/floatn.h b/sysdeps/powerpc/bits/floatn.h
index 44a9434..a293bfc 100644
--- a/sysdeps/powerpc/bits/floatn.h
+++ b/sysdeps/powerpc/bits/floatn.h
@@ -20,12 +20,13 @@
#define _BITS_FLOATN_H
#include <features.h>
+#include <bits/long-double.h>
/* Defined to 1 if the current compiler invocation provides a
floating-point type with the IEEE 754 binary128 format, and this glibc
includes corresponding *f128 interfaces for it. */
#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
- && defined __FLOAT128__
+ && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
# define __HAVE_FLOAT128 1
#else
# define __HAVE_FLOAT128 0
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/powerpc/bits/floatn.h | 3 ++-
2 files changed, 8 insertions(+), 1 deletions(-)
hooks/post-receive
--
GNU C Library master sources