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.14-589-gdb910ef
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 22 Dec 2011 21:29:57 -0000
- Subject: 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