This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.27.9000-232-gd0c5d73


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  d0c5d731af73fcd787fb398a34e2431bcb686bd3 (commit)
      from  8a07b0c43c46a480da070efd53a2720195e2256f (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=d0c5d731af73fcd787fb398a34e2431bcb686bd3

commit d0c5d731af73fcd787fb398a34e2431bcb686bd3
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Mar 20 18:35:50 2018 +0000

    Remove powerpc, sparc fdim inlines (bug 22987).
    
    The powerpc and sparc bits/mathinline.h include inlines of fdim and
    fdimf.  These are not restricted to -fno-math-errno, but do not set
    errno, and wrongly use ordered <= comparisons instead of the required
    islessequal comparisons (this latter issue is latent on powerpc
    because GCC wrongly uses unordered comparison instructions for
    operations that should use ordered comparison instructions).
    
    Since we wish to avoid such header inlines anyway, leaving it to the
    compiler to inline such standard functions under appropriate
    conditions, this patch fixes those issues by removing the inlines in
    question (and thus removing the sparc bits/mathinline.h header which
    had no other inlines left in it).  I've filed
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85003> for adding
    correct fdim inlines to GCC, since the function is simple enough that
    a correct inline is a perfectly reasonable architecture-independent
    optimization with -fno-math-errno and in the absence of implicit
    excess precision.
    
    Tested with build-many-glibcs.py for all its powerpc and sparc
    configurations.
    
    	[BZ #22987]
    	* sysdeps/powerpc/bits/mathinline.h (fdim): Remove inline
    	function.
    	(fdimf): Likewise.
    	* sysdeps/sparc/fpu/bits/mathinline.h: Remove file.

diff --git a/ChangeLog b/ChangeLog
index 83fa308..c26bdd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2018-03-20  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #22987]
+	* sysdeps/powerpc/bits/mathinline.h (fdim): Remove inline
+	function.
+	(fdimf): Likewise.
+	* sysdeps/sparc/fpu/bits/mathinline.h: Remove file.
+
 	[BZ #17343]
 	* stdlib/random_r.c (__random_r): Use unsigned arithmetic for
 	possibly overflowing computations.
diff --git a/sysdeps/powerpc/bits/mathinline.h b/sysdeps/powerpc/bits/mathinline.h
index 75cf717..e3e8386 100644
--- a/sysdeps/powerpc/bits/mathinline.h
+++ b/sysdeps/powerpc/bits/mathinline.h
@@ -53,20 +53,6 @@ __NTH (lrintf (float __x))
 }
 # endif
 
-__MATH_INLINE double fdim (double __x, double __y) __THROW;
-__MATH_INLINE double
-__NTH (fdim (double __x, double __y))
-{
-  return __x <= __y ? 0 : __x - __y;
-}
-
-__MATH_INLINE float fdimf (float __x, float __y) __THROW;
-__MATH_INLINE float
-__NTH (fdimf (float __x, float __y))
-{
-  return __x <= __y ? 0 : __x - __y;
-}
-
 #endif /* __USE_ISOC99 */
 #endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
 #endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h
deleted file mode 100644
index f6118c7..0000000
--- a/sysdeps/sparc/fpu/bits/mathinline.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Inline math functions for SPARC.
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/mathinline.h> directly; include <math.h> instead."
-#endif
-
-#include <bits/wordsize.h>
-
-#ifdef __GNUC__
-
-#if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) && defined __OPTIMIZE__
-
-# ifndef __extern_inline
-#  define __MATH_INLINE __inline
-# else
-#  define __MATH_INLINE __extern_inline
-# endif  /* __cplusplus */
-
-# ifdef __USE_ISOC99
-
-#  ifndef __NO_MATH_INLINES
-
-__MATH_INLINE double __NTH (fdim (double __x, double __y));
-__MATH_INLINE double
-__NTH (fdim (double __x, double __y))
-{
-  return __x <= __y ? 0 : __x - __y;
-}
-
-__MATH_INLINE float __NTH (fdimf (float __x, float __y));
-__MATH_INLINE float
-__NTH (fdimf (float __x, float __y))
-{
-  return __x <= __y ? 0 : __x - __y;
-}
-
-#  endif /* !__NO_MATH_INLINES */
-# endif /* __USE_ISOC99 */
-#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
-#endif /* __GNUC__ */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                           |    6 ++++
 sysdeps/powerpc/bits/mathinline.h   |   14 --------
 sysdeps/sparc/fpu/bits/mathinline.h |   57 -----------------------------------
 3 files changed, 6 insertions(+), 71 deletions(-)
 delete mode 100644 sysdeps/sparc/fpu/bits/mathinline.h


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]