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.16-ports-merge-746-gad35f2d


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  ad35f2dd750ed3e3f483409ef50b38ea19745002 (commit)
      from  09e958ed423b99f97f5fd4b101964dfc9e3b32c0 (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=ad35f2dd750ed3e3f483409ef50b38ea19745002

commit ad35f2dd750ed3e3f483409ef50b38ea19745002
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Nov 21 20:26:56 2012 +0000

    Make ARM fesetenv (FE_NOMASK_ENV) detect failure (bug 14866).

diff --git a/NEWS b/NEWS
index f78758a..9eb0a10 100644
--- a/NEWS
+++ b/NEWS
@@ -21,7 +21,7 @@ Version 2.17
   14638, 14645, 14648, 14652, 14660, 14661, 14669, 14672, 14683, 14694,
   14716, 14719, 14743, 14767, 14783, 14784, 14785, 14793, 14796, 14797,
   14801, 14805, 14807, 14809, 14811, 14815, 14821, 14824, 14828, 14831,
-  14835, 14838, 14856.
+  14835, 14838, 14856, 14866.
 
 * Port to ARM AArch64 contributed by Linaro.
 
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index d060121..2a56a9f 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,9 @@
+2012-11-21  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #14866]
+	* sysdeps/arm/fesetenv.c (__fesetenv): Test whether bits for
+	trapping exceptions were successfully set for FE_NOMASK_ENV.
+
 2012-11-14  Marcus Shawcroft  <marcus.shawcroft@linaro.org>
 
 	* sysdeps/unix/sysv/linux/arm/Makefile (libcrypt-sysdep_routines): Add
diff --git a/ports/sysdeps/arm/fesetenv.c b/ports/sysdeps/arm/fesetenv.c
index 2fad61d..e92f9f5 100644
--- a/ports/sysdeps/arm/fesetenv.c
+++ b/ports/sysdeps/arm/fesetenv.c
@@ -40,6 +40,16 @@ __fesetenv (const fenv_t *envp)
 
       _FPU_SETCW (temp);
 
+      if (envp == FE_NOMASK_ENV)
+	{
+	  /* VFPv3 and VFPv4 do not support trapping exceptions, so
+	     test whether the relevant bits were set and fail if
+	     not.  */
+	  _FPU_GETCW (temp);
+	  if ((temp & _FPU_IEEE) != _FPU_IEEE)
+	    return 1;
+	}
+
       /* Success.  */
       return 0;
     }

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

Summary of changes:
 NEWS                         |    2 +-
 ports/ChangeLog.arm          |    6 ++++++
 ports/sysdeps/arm/fesetenv.c |   10 ++++++++++
 3 files changed, 17 insertions(+), 1 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]