| diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES |
| --- mpfr-3.1.2-a/PATCHES 2014-04-15 22:20:32.243481506 +0000 |
| +++ mpfr-3.1.2-b/PATCHES 2014-04-15 22:22:32.418722707 +0000 |
| @@ -0,0 +1 @@ |
| +gmp6-compat |
| diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION |
| --- mpfr-3.1.2-a/VERSION 2014-04-15 22:20:20.755171478 +0000 |
| +++ mpfr-3.1.2-b/VERSION 2014-04-15 22:21:45.225450147 +0000 |
| @@ -1 +1 @@ |
| -3.1.2-p7 |
| +3.1.2-p8 |
| diff -Naurd mpfr-3.1.2-a/configure mpfr-3.1.2-b/configure |
| --- mpfr-3.1.2-a/configure 2013-03-13 15:38:20.000000000 +0000 |
| +++ mpfr-3.1.2-b/configure 2014-04-15 22:21:38.821277476 +0000 |
| @@ -14545,26 +14545,30 @@ |
| rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
| fi |
| |
| -if test "$use_gmp_build" = yes ; then |
| - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for valid GMP_NUMB_BITS" >&5 |
| -$as_echo_n "checking for valid GMP_NUMB_BITS... " >&6; } |
| - if test "$cross_compiling" = yes; then : |
| +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency" >&5 |
| +$as_echo_n "checking for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency... " >&6; } |
| +if test "$cross_compiling" = yes; then : |
| { $as_echo "$as_me:${as_lineno-$LINENO}: result: can't test" >&5 |
| $as_echo "can't test" >&6; } |
| else |
| cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| /* end confdefs.h. */ |
| |
| +#include <stdio.h> |
| #include <limits.h> |
| #include "gmp.h" |
| -#include "gmp-impl.h" |
| |
| int |
| main () |
| { |
| |
| - return GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT |
| - && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1; |
| + if (GMP_NUMB_BITS == sizeof(mp_limb_t) * CHAR_BIT) |
| + return 0; |
| + fprintf (stderr, "GMP_NUMB_BITS = %ld\n", (long) GMP_NUMB_BITS); |
| + fprintf (stderr, "sizeof(mp_limb_t) = %ld\n", (long) sizeof(mp_limb_t)); |
| + fprintf (stderr, "sizeof(mp_limb_t) * CHAR_BIT = %ld != GMP_NUMB_BITS\n", |
| + (long) (sizeof(mp_limb_t) * CHAR_BIT)); |
| + return 1; |
| |
| ; |
| return 0; |
| @@ -14577,14 +14581,14 @@ |
| |
| { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
| $as_echo "no" >&6; } |
| - as_fn_error $? "GMP_NUMB_BITS is incorrect. |
| -You probably need to change some of the GMP or MPFR compile options." "$LINENO" 5 |
| + as_fn_error $? "GMP_NUMB_BITS and sizeof(mp_limb_t) are not consistent. |
| +You probably need to change some of the GMP or MPFR compile options. |
| +See 'config.log' for details (search for GMP_NUMB_BITS)." "$LINENO" 5 |
| fi |
| rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ |
| conftest.$ac_objext conftest.beam conftest.$ac_ext |
| fi |
| |
| -fi |
| |
| |
| if test "$dont_link_with_gmp" = yes ; then |
| diff -Naurd mpfr-3.1.2-a/configure.ac mpfr-3.1.2-b/configure.ac |
| --- mpfr-3.1.2-a/configure.ac 2013-03-13 15:37:46.000000000 +0000 |
| +++ mpfr-3.1.2-b/configure.ac 2013-03-13 15:37:46.000000000 +0000 |
| @@ -435,23 +435,29 @@ |
| ]) |
| fi |
| |
| -dnl Check for valid GMP_NUMB_BITS and BYTES_PER_MP_LIMB |
| +dnl Check for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency. |
| +dnl Problems may occur if gmp.h was generated with some ABI |
| +dnl and is used with another ABI (or if nails are used). |
| dnl This test doesn't need to link with libgmp (at least it shouldn't). |
| -if test "$use_gmp_build" = yes ; then |
| - AC_MSG_CHECKING(for valid GMP_NUMB_BITS) |
| - AC_RUN_IFELSE([AC_LANG_PROGRAM([[ |
| +AC_MSG_CHECKING(for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency) |
| +AC_RUN_IFELSE([AC_LANG_PROGRAM([[ |
| +#include <stdio.h> |
| #include <limits.h> |
| #include "gmp.h" |
| -#include "gmp-impl.h" |
| ]], [[ |
| - return GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT |
| - && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1; |
| + if (GMP_NUMB_BITS == sizeof(mp_limb_t) * CHAR_BIT) |
| + return 0; |
| + fprintf (stderr, "GMP_NUMB_BITS = %ld\n", (long) GMP_NUMB_BITS); |
| + fprintf (stderr, "sizeof(mp_limb_t) = %ld\n", (long) sizeof(mp_limb_t)); |
| + fprintf (stderr, "sizeof(mp_limb_t) * CHAR_BIT = %ld != GMP_NUMB_BITS\n", |
| + (long) (sizeof(mp_limb_t) * CHAR_BIT)); |
| + return 1; |
| ]])], [AC_MSG_RESULT(yes)], [ |
| AC_MSG_RESULT(no) |
| - AC_MSG_ERROR([GMP_NUMB_BITS is incorrect. |
| -You probably need to change some of the GMP or MPFR compile options.])], |
| + AC_MSG_ERROR([GMP_NUMB_BITS and sizeof(mp_limb_t) are not consistent. |
| +You probably need to change some of the GMP or MPFR compile options. |
| +See 'config.log' for details (search for GMP_NUMB_BITS).])], |
| [AC_MSG_RESULT([can't test])]) |
| -fi |
| |
| |
| dnl We really need to link using libtool. But it is impossible with the current |
| diff -Naurd mpfr-3.1.2-a/src/init2.c mpfr-3.1.2-b/src/init2.c |
| --- mpfr-3.1.2-a/src/init2.c 2013-03-13 15:37:32.000000000 +0000 |
| +++ mpfr-3.1.2-b/src/init2.c 2014-04-15 22:21:06.220398489 +0000 |
| @@ -30,11 +30,11 @@ |
| |
| /* Check if we can represent the number of limbs |
| * associated to the maximum of mpfr_prec_t*/ |
| - MPFR_ASSERTN( MP_SIZE_T_MAX >= (MPFR_PREC_MAX/BYTES_PER_MP_LIMB) ); |
| + MPFR_ASSERTN( MP_SIZE_T_MAX >= (MPFR_PREC_MAX/MPFR_BYTES_PER_MP_LIMB) ); |
| |
| - /* Check for correct GMP_NUMB_BITS and BYTES_PER_MP_LIMB */ |
| - MPFR_ASSERTN( GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT |
| - && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ); |
| + /* Check for correct GMP_NUMB_BITS and MPFR_BYTES_PER_MP_LIMB */ |
| + MPFR_ASSERTN( GMP_NUMB_BITS == MPFR_BYTES_PER_MP_LIMB * CHAR_BIT |
| + && sizeof(mp_limb_t) == MPFR_BYTES_PER_MP_LIMB ); |
| |
| MPFR_ASSERTN (mp_bits_per_limb == GMP_NUMB_BITS); |
| |
| diff -Naurd mpfr-3.1.2-a/src/mpfr-gmp.h mpfr-3.1.2-b/src/mpfr-gmp.h |
| --- mpfr-3.1.2-a/src/mpfr-gmp.h 2013-03-13 15:37:32.000000000 +0000 |
| +++ mpfr-3.1.2-b/src/mpfr-gmp.h 2014-04-15 22:21:06.220398489 +0000 |
| @@ -72,7 +72,6 @@ |
| #endif |
| |
| /* Define some macros */ |
| -#define BYTES_PER_MP_LIMB (GMP_NUMB_BITS/CHAR_BIT) |
| |
| #define MP_LIMB_T_MAX (~(mp_limb_t)0) |
| |
| @@ -96,19 +95,19 @@ |
| #define SHRT_HIGHBIT SHRT_MIN |
| |
| /* MP_LIMB macros */ |
| -#define MPN_ZERO(dst, n) memset((dst), 0, (n)*BYTES_PER_MP_LIMB) |
| -#define MPN_COPY_DECR(dst,src,n) memmove((dst),(src),(n)*BYTES_PER_MP_LIMB) |
| -#define MPN_COPY_INCR(dst,src,n) memmove((dst),(src),(n)*BYTES_PER_MP_LIMB) |
| +#define MPN_ZERO(dst, n) memset((dst), 0, (n)*MPFR_BYTES_PER_MP_LIMB) |
| +#define MPN_COPY_DECR(dst,src,n) memmove((dst),(src),(n)*MPFR_BYTES_PER_MP_LIMB) |
| +#define MPN_COPY_INCR(dst,src,n) memmove((dst),(src),(n)*MPFR_BYTES_PER_MP_LIMB) |
| #define MPN_COPY(dst,src,n) \ |
| do \ |
| { \ |
| if ((dst) != (src)) \ |
| { \ |
| MPFR_ASSERTD ((char *) (dst) >= (char *) (src) + \ |
| - (n) * BYTES_PER_MP_LIMB || \ |
| + (n) * MPFR_BYTES_PER_MP_LIMB || \ |
| (char *) (src) >= (char *) (dst) + \ |
| - (n) * BYTES_PER_MP_LIMB); \ |
| - memcpy ((dst), (src), (n) * BYTES_PER_MP_LIMB); \ |
| + (n) * MPFR_BYTES_PER_MP_LIMB); \ |
| + memcpy ((dst), (src), (n) * MPFR_BYTES_PER_MP_LIMB); \ |
| } \ |
| } \ |
| while (0) |
| diff -Naurd mpfr-3.1.2-a/src/mpfr-impl.h mpfr-3.1.2-b/src/mpfr-impl.h |
| --- mpfr-3.1.2-a/src/mpfr-impl.h 2013-10-09 13:34:21.000000000 +0000 |
| +++ mpfr-3.1.2-b/src/mpfr-impl.h 2014-04-15 22:21:06.220398489 +0000 |
| @@ -191,7 +191,7 @@ |
| # endif |
| #endif |
| |
| - |
| +#define MPFR_BYTES_PER_MP_LIMB (GMP_NUMB_BITS/CHAR_BIT) |
| |
| /****************************************************** |
| ******************** Check GMP *********************** |
| @@ -930,7 +930,7 @@ |
| #define MPFR_SET_ALLOC_SIZE(x, n) \ |
| ( ((mp_size_t*) MPFR_MANT(x))[-1] = n) |
| #define MPFR_MALLOC_SIZE(s) \ |
| - ( sizeof(mpfr_size_limb_t) + BYTES_PER_MP_LIMB * ((size_t) s) ) |
| + ( sizeof(mpfr_size_limb_t) + MPFR_BYTES_PER_MP_LIMB * ((size_t) s) ) |
| #define MPFR_SET_MANT_PTR(x,p) \ |
| (MPFR_MANT(x) = (mp_limb_t*) ((mpfr_size_limb_t*) p + 1)) |
| #define MPFR_GET_REAL_PTR(x) \ |
| @@ -964,7 +964,7 @@ |
| #endif |
| |
| #define MPFR_TMP_LIMBS_ALLOC(N) \ |
| - ((mp_limb_t *) MPFR_TMP_ALLOC ((size_t) (N) * BYTES_PER_MP_LIMB)) |
| + ((mp_limb_t *) MPFR_TMP_ALLOC ((size_t) (N) * MPFR_BYTES_PER_MP_LIMB)) |
| |
| /* temporary allocate 1 limb at xp, and initialize mpfr variable x */ |
| /* The temporary var doesn't have any size field, but it doesn't matter |
| diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h |
| --- mpfr-3.1.2-a/src/mpfr.h 2014-04-15 22:20:20.755171478 +0000 |
| +++ mpfr-3.1.2-b/src/mpfr.h 2014-04-15 22:21:45.225450147 +0000 |
| @@ -27,7 +27,7 @@ |
| #define MPFR_VERSION_MAJOR 3 |
| #define MPFR_VERSION_MINOR 1 |
| #define MPFR_VERSION_PATCHLEVEL 2 |
| -#define MPFR_VERSION_STRING "3.1.2-p7" |
| +#define MPFR_VERSION_STRING "3.1.2-p8" |
| |
| /* Macros dealing with MPFR VERSION */ |
| #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) |
| diff -Naurd mpfr-3.1.2-a/src/mul.c mpfr-3.1.2-b/src/mul.c |
| --- mpfr-3.1.2-a/src/mul.c 2013-03-13 15:37:37.000000000 +0000 |
| +++ mpfr-3.1.2-b/src/mul.c 2014-04-15 22:21:06.224398597 +0000 |
| @@ -106,7 +106,7 @@ |
| MPFR_ASSERTD(tn <= k); |
| |
| /* Check for no size_t overflow*/ |
| - MPFR_ASSERTD((size_t) k <= ((size_t) -1) / BYTES_PER_MP_LIMB); |
| + MPFR_ASSERTD((size_t) k <= ((size_t) -1) / MPFR_BYTES_PER_MP_LIMB); |
| MPFR_TMP_MARK(marker); |
| tmp = MPFR_TMP_LIMBS_ALLOC (k); |
| |
| @@ -301,7 +301,7 @@ |
| MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */ |
| |
| /* Check for no size_t overflow*/ |
| - MPFR_ASSERTD ((size_t) k <= ((size_t) -1) / BYTES_PER_MP_LIMB); |
| + MPFR_ASSERTD ((size_t) k <= ((size_t) -1) / MPFR_BYTES_PER_MP_LIMB); |
| MPFR_TMP_MARK (marker); |
| tmp = MPFR_TMP_LIMBS_ALLOC (k); |
| |
| diff -Naurd mpfr-3.1.2-a/src/stack_interface.c mpfr-3.1.2-b/src/stack_interface.c |
| --- mpfr-3.1.2-a/src/stack_interface.c 2013-03-13 15:37:32.000000000 +0000 |
| +++ mpfr-3.1.2-b/src/stack_interface.c 2014-04-15 22:21:06.220398489 +0000 |
| @@ -26,7 +26,7 @@ |
| size_t |
| mpfr_custom_get_size (mpfr_prec_t prec) |
| { |
| - return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB; |
| + return MPFR_PREC2LIMBS (prec) * MPFR_BYTES_PER_MP_LIMB; |
| } |
| |
| #undef mpfr_custom_init |
| diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c |
| --- mpfr-3.1.2-a/src/version.c 2014-04-15 22:20:20.755171478 +0000 |
| +++ mpfr-3.1.2-b/src/version.c 2014-04-15 22:21:45.225450147 +0000 |
| @@ -25,5 +25,5 @@ |
| const char * |
| mpfr_get_version (void) |
| { |
| - return "3.1.2-p7"; |
| + return "3.1.2-p8"; |
| } |