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 #include #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 #include #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"; }