[SCM] Gerris Flow Solver branch, debian-unstable, updated. gerris-0.9.2+darcs081022-dfsg.1-3-4-g04000d4
Drew Parsons
dparsons at debian.org
Thu Apr 23 06:01:50 UTC 2009
The following commit has been merged in the debian-unstable branch:
commit f03ead3f664830ba0fece805e20770a2b9e71b7a
Author: Drew Parsons <dparsons at debian.org>
Date: Thu Apr 23 15:38:54 2009 +1000
Debian patch: Exclude armel from fpu; check fpu available
* Update fpucontrol-bug350595.patch:
- #define FPU_AVAILABLE when FPU_SETCW and _FPU_IEEE are defined.
Check FPU_AVAILABLE is defined at point where fpu_trap_exception
is used. Closes: #523785.
- Exclude armel (arm + softfp) from fpu manipulations. The
instruction used in FPU_SETCW on arm is specific to the VFP unit
which is not present on armel systems. Closes: #520878
diff --git a/debian/changelog b/debian/changelog
index 72bc6da..34a5942 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,14 @@
gerris (0.9.2+darcs081022-dfsg.1-4) UNRELEASED; urgency=low
- * Update fpucontrol-bug350595.patch to add extra check for _FPU_IEEE
- at point where fpu_trap_exception is used.
-
- -- Drew Parsons <dparsons at debian.org> Sat, 11 Apr 2009 01:03:29 +1000
+ * Update fpucontrol-bug350595.patch:
+ - #define FPU_AVAILABLE when FPU_SETCW and _FPU_IEEE are defined.
+ Check FPU_AVAILABLE is defined at point where fpu_trap_exception
+ is used. Closes: #523785.
+ - Exclude armel (arm + softfp) from fpu manipulations. The
+ instruction used in FPU_SETCW on arm is specific to the VFP unit
+ which is not present on armel systems. Closes: #520878
+
+ -- Drew Parsons <dparsons at debian.org> Thu, 23 Apr 2009 15:32:13 +1000
gerris (0.9.2+darcs081022-dfsg.1-3) unstable; urgency=low
diff --git a/debian/patches/fpucontrol-bug350595.patch b/debian/patches/fpucontrol-bug350595.patch
index 751c01b..2640a33 100644
--- a/debian/patches/fpucontrol-bug350595.patch
+++ b/debian/patches/fpucontrol-bug350595.patch
@@ -1,13 +1,22 @@
diff --git a/src/init.c b/src/init.c
index 6d328d4..6fea3e1 100644
diff -Nur -x '*.orig' -x '*~' gerris/src/init.c gerris.new/src/init.c
---- gerris/src/init.c 2009-01-17 23:25:56.000000000 +1100
-+++ gerris.new/src/init.c 2009-04-11 01:02:03.000000000 +1000
-@@ -21,8 +21,17 @@
+--- gerris/src/init.c 2009-04-11 02:17:24.000000000 +1000
++++ gerris.new/src/init.c 2009-04-23 15:30:47.000000000 +1000
+@@ -19,11 +19,28 @@
+ #include "config.h"
+
++#if defined(__ARM_EABI__) && defined(__SOFTFP__)
++ /* ARM EABI soft float silently returns infinities on division by zero */
++ /* _FPU_SETCW uses arm-specific instructions which are not valid on armel,
++ * therefore exclude armel from fpu manipulations*/
++#undef FPU_AVAILABLE
++#else
#ifdef HAVE_FPU_SETCW
# include <fpu_control.h>
+#ifdef _FPU_IEEE
++#define FPU_AVAILABLE
static fpu_control_t fpu_trap_exceptions =
- _FPU_IEEE & ~(_FPU_MASK_ZM /*| _FPU_MASK_IM | _FPU_MASK_OM*/);
+ _FPU_IEEE &
@@ -20,15 +29,19 @@ diff -Nur -x '*.orig' -x '*~' gerris/src/init.c gerris.new/src/init.c
+#endif
+#endif /* _FPU_IEEE */
#endif /* HAVE_FPU_SETCW */
++#endif /* __ARM_EABI__ */
#include <stdlib.h>
-@@ -261,7 +270,9 @@
+ #include <locale.h>
+@@ -260,9 +277,9 @@
+ #endif /* HAVE_MPI */
initialized = TRUE;
- #ifdef HAVE_FPU_SETCW
-+#ifdef _FPU_IEEE
+-#ifdef HAVE_FPU_SETCW
++#ifdef FPU_AVAILABLE
_FPU_SETCW (fpu_trap_exceptions);
-+#endif /* _FPU_IEEE */
- #endif /* HAVE_FPU_SETCW */
+-#endif /* HAVE_FPU_SETCW */
++#endif /* FPU_AVAILABLE */
g_log_set_handler (G_LOG_DOMAIN,
+ G_LOG_LEVEL_ERROR |
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list