diff -Naurd mpfr-2.4.1-a/PATCHES mpfr-2.4.1-b/PATCHES
--- mpfr-2.4.1-a/PATCHES	2009-03-13 02:50:47.000000000 +0000
+++ mpfr-2.4.1-b/PATCHES	2009-03-13 02:50:48.000000000 +0000
@@ -0,0 +1 @@
+zeta_ui-shift
diff -Naurd mpfr-2.4.1-a/VERSION mpfr-2.4.1-b/VERSION
--- mpfr-2.4.1-a/VERSION	2009-03-10 01:44:40.000000000 +0000
+++ mpfr-2.4.1-b/VERSION	2009-03-13 02:50:48.000000000 +0000
@@ -1 +1 @@
-2.4.1-p4
+2.4.1-p5
diff -Naurd mpfr-2.4.1-a/mpfr.h mpfr-2.4.1-b/mpfr.h
--- mpfr-2.4.1-a/mpfr.h	2009-03-10 01:44:40.000000000 +0000
+++ mpfr-2.4.1-b/mpfr.h	2009-03-13 02:50:48.000000000 +0000
@@ -27,7 +27,7 @@
 #define MPFR_VERSION_MAJOR 2
 #define MPFR_VERSION_MINOR 4
 #define MPFR_VERSION_PATCHLEVEL 1
-#define MPFR_VERSION_STRING "2.4.1-p4"
+#define MPFR_VERSION_STRING "2.4.1-p5"
 
 /* Macros dealing with MPFR VERSION */
 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-2.4.1-a/version.c mpfr-2.4.1-b/version.c
--- mpfr-2.4.1-a/version.c	2009-03-10 01:44:40.000000000 +0000
+++ mpfr-2.4.1-b/version.c	2009-03-13 02:50:48.000000000 +0000
@@ -25,5 +25,5 @@
 const char *
 mpfr_get_version (void)
 {
-  return "2.4.1-p4";
+  return "2.4.1-p5";
 }
diff -Naurd mpfr-2.4.1-a/zeta_ui.c mpfr-2.4.1-b/zeta_ui.c
--- mpfr-2.4.1-a/zeta_ui.c	2009-02-20 09:43:17.000000000 +0000
+++ mpfr-2.4.1-b/zeta_ui.c	2009-03-13 02:50:48.000000000 +0000
@@ -177,7 +177,9 @@
                   mpz_mul_ui (t, t, 2 * k - 1);
                 }
               mpz_div_2exp (t, t, 1);
-              if (n < 1UL << (BITS_PER_MP_LIMB / 2))
+              /* Warning: the test below assumes that an unsigned long
+                 has no padding bits. */
+              if (n < 1UL << ((sizeof(unsigned long) * CHAR_BIT) / 2))
                 /* (n - k + 1) * (n + k - 1) < n^2 */
                 mpz_divexact_ui (t, t, (n - k + 1) * (n + k - 1));
               else
