patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch
author Titus von Boxberg <titus@v9g.de>
Mon Aug 22 09:38:19 2011 +0200 (2011-08-22)
branch1.12
changeset 2638 18d05b18e242
permissions -rw-r--r--
libc/uClibc: portability fixes to install_headers

Add patch files for uClibc-0.9.30:
extra/scripts/install_headers.sh: find must be called with path.
extra/scripts/unifdef.c: getline is declared in <stdio.h>, use different name.

Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net>
Reported-by: "Titus von Boxberg" <titus@v9g.de>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
(transplanted from b745004e1d29921a86b73694d912f1e1277db3e1)
yann@1440
     1
diff --git a/mpz/remove.c b/mpz/remove.c
yann@1440
     2
--- a/mpz/remove.c
yann@1440
     3
+++ b/mpz/remove.c
yann@1440
     4
@@ -23,7 +23,7 @@
yann@1440
     5
 unsigned long int
yann@1440
     6
 mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f)
yann@1440
     7
 {
yann@1440
     8
-  mpz_t fpow[40];		/* inexhaustible...until year 2020 or so */
yann@1440
     9
+  mpz_t fpow[GMP_LIMB_BITS];		/* Really MP_SIZE_T_BITS */
yann@1440
    10
   mpz_t x, rem;
yann@1440
    11
   unsigned long int pwr;
yann@1440
    12
   int p;
yann@1440
    13
@@ -69,7 +69,7 @@
yann@1440
    14
       mpz_set (dest, x);
yann@1440
    15
     }
yann@1440
    16
 
yann@1440
    17
-  pwr = (1 << p) - 1;
yann@1440
    18
+  pwr = (1L << p) - 1;
yann@1440
    19
 
yann@1440
    20
   mpz_clear (fpow[p]);
yann@1440
    21
 
yann@1440
    22
diff --git a/mpz/remove.c b/mpz/remove.c
yann@1440
    23
--- a/mpz/remove.c
yann@1440
    24
+++ b/mpz/remove.c
yann@1440
    25
@@ -80,7 +80,7 @@
yann@1440
    26
       mpz_tdiv_qr (x, rem, dest, fpow[p]);
yann@1440
    27
       if (SIZ (rem) == 0)
yann@1440
    28
 	{
yann@1440
    29
-	  pwr += 1 << p;
yann@1440
    30
+	  pwr += 1L << p;
yann@1440
    31
 	  mpz_set (dest, x);
yann@1440
    32
 	}
yann@1440
    33
       mpz_clear (fpow[p]);