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.24-275-g8e36adc


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  8e36adc08eebb526d180b8477f1840c5bd549d83 (commit)
      from  7cfde840694cda82da29385e812060f99bcb367c (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=8e36adc08eebb526d180b8477f1840c5bd549d83

commit 8e36adc08eebb526d180b8477f1840c5bd549d83
Author: Stefan Liebler <stli@linux.vnet.ibm.com>
Date:   Mon Oct 17 10:37:11 2016 +0200

    S390: Fix fp comparison not raising FE_INVALID.
    
    As gcc is using unordered comparison instructions which do not
    raise invalid exception if any operand is quiet NAN,
    FIX_COMPARE_INVALID is defined to 1.
    Thus iseqsig is calling feraiseexcept as workaround.

diff --git a/ChangeLog b/ChangeLog
index 06a7338..3c328b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-10-17  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
+	* sysdeps/s390/fpu/fix-fp-int-compare-invalid.h: New file.
+
 2016-09-22  John David Anglin  <dave.anglin@bell.net>
 
 	* sysdeps/unix/sysv/linux/hppa/atomic-machine.h: Don't include
diff --git a/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h b/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h
new file mode 100644
index 0000000..c4c119f
--- /dev/null
+++ b/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h
@@ -0,0 +1,36 @@
+/* Fix for missing "invalid" exceptions from floating-point
+   comparisons.  s390 version.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   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 FIX_FP_INT_COMPARE_INVALID_H
+#define FIX_FP_INT_COMPARE_INVALID_H	1
+
+/* GCC uses unordered comparison instructions like cebr (Short BFP COMPARE)
+   when it should use ordered comparison instructions like kebr
+   (Short BFP COMPARE AND SIGNAL) in order to raise invalid exceptions if
+   any operand is quiet (or signaling) NAN. See gcc bugzilla:
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77918>.
+   There exists an equivalent gcc bugzilla for Intel:
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52451>.
+   Once the s390 gcc bug is fixed, the definition of FIX_COMPARE_INVALID
+   should have a __GNUC_PREREQ conditional added so that e.g. the workaround
+   to call feraiseexcept (FE_INVALID) in math/s_iseqsig_template.c can be
+   avoided.  */
+#define FIX_COMPARE_INVALID 1
+
+#endif /* fix-fp-int-compare-invalid.h */

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

Summary of changes:
 ChangeLog                                          |    4 ++++
 .../fpu/fix-fp-int-compare-invalid.h               |   16 ++++++++++++----
 2 files changed, 16 insertions(+), 4 deletions(-)
 copy sysdeps/{powerpc => s390}/fpu/fix-fp-int-compare-invalid.h (58%)


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]