From 540d681568195aea516f382b1494fe76c85456ce Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:37 +0200 Subject: [comp-lib-gmp] Add latest versions Add 4.3.0 and 4.3.1. diff --git a/config/companion_libs/gmp.in b/config/companion_libs/gmp.in index c4fc246..a87f417 100644 --- a/config/companion_libs/gmp.in +++ b/config/companion_libs/gmp.in @@ -12,6 +12,14 @@ config GMP_V_4_2_4 bool prompt "4.2.4" +config GMP_V_4_3_0 + bool + prompt "4.3.0" + +config GMP_V_4_3_1 + bool + prompt "4.3.1" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -20,5 +28,7 @@ config GMP_VERSION string default "4.2.2" if GMP_V_4_2_2 default "4.2.4" if GMP_V_4_2_4 + default "4.3.0" if GMP_V_4_3_0 + default "4.3.1" if GMP_V_4_3_1 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! diff --git a/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch b/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch new file mode 100644 index 0000000..f60e88f --- /dev/null +++ b/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch @@ -0,0 +1,33 @@ +diff --git a/mpz/remove.c b/mpz/remove.c +--- a/mpz/remove.c ++++ b/mpz/remove.c +@@ -23,7 +23,7 @@ + unsigned long int + mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f) + { +- mpz_t fpow[40]; /* inexhaustible...until year 2020 or so */ ++ mpz_t fpow[GMP_LIMB_BITS]; /* Really MP_SIZE_T_BITS */ + mpz_t x, rem; + unsigned long int pwr; + int p; +@@ -69,7 +69,7 @@ + mpz_set (dest, x); + } + +- pwr = (1 << p) - 1; ++ pwr = (1L << p) - 1; + + mpz_clear (fpow[p]); + +diff --git a/mpz/remove.c b/mpz/remove.c +--- a/mpz/remove.c ++++ b/mpz/remove.c +@@ -80,7 +80,7 @@ + mpz_tdiv_qr (x, rem, dest, fpow[p]); + if (SIZ (rem) == 0) + { +- pwr += 1 << p; ++ pwr += 1L << p; + mpz_set (dest, x); + } + mpz_clear (fpow[p]); diff --git a/patches/gmp/4.3.1/110-unbounded-alloc.patch b/patches/gmp/4.3.1/110-unbounded-alloc.patch new file mode 100644 index 0000000..78e0588 --- /dev/null +++ b/patches/gmp/4.3.1/110-unbounded-alloc.patch @@ -0,0 +1,31 @@ +diff --git a/mpn/generic/toom44_mul.c b/mpn/generic/toom44_mul.c +--- a/mpn/generic/toom44_mul.c ++++ b/mpn/generic/toom44_mul.c +@@ -116,17 +116,16 @@ + + TMP_MARK; + +- as1 = TMP_SALLOC_LIMBS (n + 1); +- asm1 = TMP_SALLOC_LIMBS (n + 1); +- as2 = TMP_SALLOC_LIMBS (n + 1); +- ash = TMP_SALLOC_LIMBS (n + 1); +- asmh = TMP_SALLOC_LIMBS (n + 1); +- +- bs1 = TMP_SALLOC_LIMBS (n + 1); +- bsm1 = TMP_SALLOC_LIMBS (n + 1); +- bs2 = TMP_SALLOC_LIMBS (n + 1); +- bsh = TMP_SALLOC_LIMBS (n + 1); +- bsmh = TMP_SALLOC_LIMBS (n + 1); ++ as1 = TMP_ALLOC_LIMBS (10 * n + 10); ++ asm1 = as1 + n + 1; ++ as2 = asm1 + n + 1; ++ ash = as2 + n + 1; ++ asmh = ash + n + 1; ++ bs1 = asmh + n + 1; ++ bsm1 = bs1 + n + 1; ++ bs2 = bsm1 + n + 1; ++ bsh = bs2 + n + 1; ++ bsmh = bsh + n + 1; + + gp = pp; + hp = pp + n + 1; -- cgit v0.10.2-6-g49f6