[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