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.14-589-gdb910ef


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  db910efdbdbdde9e7c0a33cb6f6fc9e91672d6f2 (commit)
      from  f311e884ece21af3a7b7ce117c7bd2f0144b5e90 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=db910efdbdbdde9e7c0a33cb6f6fc9e91672d6f2

commit db910efdbdbdde9e7c0a33cb6f6fc9e91672d6f2
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Thu Dec 22 16:28:08 2011 -0500

    Also retrieve SSE exceptions in x86-32 fegetexceptflag

diff --git a/ChangeLog b/ChangeLog
index 205020d..7c79547 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-12-22  Ulrich Drepper  <drepper@gmail.com>
+
+	[BZ #13185]
+	* sysdeps/i386/fpu/fgetexcptflg.c (__fegetexceptflag): Also return
+	SSE flags if possible.
+
 2011-12-22  Liubov Dmitrieva  <liubov.dmitrieva@gmail.com>
 
 	* sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Fix wrong copying
diff --git a/NEWS b/NEWS
index 3fe9e98..eeee9ac 100644
--- a/NEWS
+++ b/NEWS
@@ -11,10 +11,10 @@ Version 2.15
 
   6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874,
   12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090,
-  13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13189,
-  13192, 13268, 13276, 13282, 13291, 13305, 13328, 13335, 13337, 13344,
-  13358, 13367, 13413, 13416, 13423, 13439, 13446, 13472, 13484, 13506,
-  13515, 13523, 13524, 13538
+  13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13185,
+  13189, 13192, 13268, 13276, 13282, 13291, 13305, 13328, 13335, 13337,
+  13344, 13358, 13367, 13413, 13416, 13423, 13439, 13446, 13472, 13484,
+  13506, 13515, 13523, 13524, 13538
 
 * New program pldd to list loaded object of a process
   Implemented by Ulrich Drepper.
diff --git a/sysdeps/i386/fpu/fgetexcptflg.c b/sysdeps/i386/fpu/fgetexcptflg.c
index 5f60511..1a0e6df 100644
--- a/sysdeps/i386/fpu/fgetexcptflg.c
+++ b/sysdeps/i386/fpu/fgetexcptflg.c
@@ -1,5 +1,5 @@
 /* Store current representation for exceptions.
-   Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
+   Copyright (C) 1997,99,2000,01,11 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -19,7 +19,10 @@
    02111-1307 USA.  */
 
 #include <fenv.h>
-#include <bp-sym.h>
+#include <unistd.h>
+#include <ldsodefs.h>
+#include <dl-procinfo.h>
+
 
 int
 __fegetexceptflag (fexcept_t *flagp, int excepts)
@@ -31,6 +34,17 @@ __fegetexceptflag (fexcept_t *flagp, int excepts)
 
   *flagp = temp & excepts & FE_ALL_EXCEPT;
 
+  /* If the CPU supports SSE, we clear the MXCSR as well.  */
+  if ((GLRO(dl_hwcap) & HWCAP_I386_XMM) != 0)
+    {
+      unsigned int sse_exc;
+
+      /* Get the current MXCSR.  */
+      __asm__ ("stmxcsr %0" : "=m" (*&sse_exc));
+
+      *flagp |= sse_exc & excepts & FE_ALL_EXCEPT;
+    }
+
   /* Success.  */
   return 0;
 }
@@ -38,7 +52,7 @@ __fegetexceptflag (fexcept_t *flagp, int excepts)
 #include <shlib-compat.h>
 #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
 strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, BP_SYM (__old_fegetexceptflag), BP_SYM (fegetexceptflag), GLIBC_2_1);
+compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1);
 #endif
 
-versioned_symbol (libm, BP_SYM (__fegetexceptflag), BP_SYM (fegetexceptflag), GLIBC_2_2);
+versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);

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

Summary of changes:
 ChangeLog                       |    6 ++++++
 NEWS                            |    8 ++++----
 sysdeps/i386/fpu/fgetexcptflg.c |   22 ++++++++++++++++++----
 3 files changed, 28 insertions(+), 8 deletions(-)


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]