summaryrefslogtreecommitdiff
path: root/patches/gmp/4.3.0/110-unbounded-alloc.patch
diff options
context:
space:
mode:
authorDmitry Pankratov <dp@ubiquitech.com>2016-11-11 20:03:11 (GMT)
committerDmitry Pankratov <dp@ubiquitech.com>2016-11-11 20:03:11 (GMT)
commit0d17d26005efbd5d6157df0f68a26c738c385ed2 (patch)
tree9c25ccb481bd4b58e54c692403d9c49402f09d98 /patches/gmp/4.3.0/110-unbounded-alloc.patch
parent34ca68e3b076f4a7eea78aa46215fa50dfb1e322 (diff)
parent5ebbb52be04e42bbd1c28b903eba642bebaeb1b6 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'patches/gmp/4.3.0/110-unbounded-alloc.patch')
-rw-r--r--patches/gmp/4.3.0/110-unbounded-alloc.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/patches/gmp/4.3.0/110-unbounded-alloc.patch b/patches/gmp/4.3.0/110-unbounded-alloc.patch
new file mode 100644
index 0000000..78e0588
--- /dev/null
+++ b/patches/gmp/4.3.0/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;