summaryrefslogtreecommitdiff
path: root/patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch
diff options
context:
space:
mode:
authorKirill K. Smirnov <kirill.k.smirnov@gmail.com>2016-09-17 21:57:43 (GMT)
committerKirill K. Smirnov <kirill.k.smirnov@gmail.com>2016-09-17 21:57:43 (GMT)
commitbcb6b03df97fcb96867771fbb24491b4a03449b5 (patch)
treea01d0a482db3107db8fa16f52f4c872c29005fc5 /patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch
parent5a88b7fd2a0c24f65cf64e3d3050b0b5bdcd4e53 (diff)
patches: add patches for gmp
This changeset adds official patches published on gmp website. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
Diffstat (limited to 'patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch')
-rw-r--r--patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch77
1 files changed, 77 insertions, 0 deletions
diff --git a/patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch b/patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch
new file mode 100644
index 0000000..d12d6b2
--- /dev/null
+++ b/patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch
@@ -0,0 +1,77 @@
+Removed ChangeLog part
+
+# HG changeset patch
+# User Torbjorn Granlund <tege@gmplib.org>
+# Date 1342891151 -7200
+# Node ID 829215e83ff1db3cd00e510a737092df691442d5
+# Parent 816c18dbd492050ef8892e91602d9e758abc2988
+Fix r0 clobbering issue with "large" code affecting elf+darwin PIC.
+
+diff -r 816c18dbd492 -r 829215e83ff1 mpn/powerpc32/vmx/mod_34lsub1.asm
+--- a/mpn/powerpc32/vmx/mod_34lsub1.asm Tue Jun 19 15:02:48 2012 +0200
++++ b/mpn/powerpc32/vmx/mod_34lsub1.asm Sat Jul 21 19:19:11 2012 +0200
+@@ -1,6 +1,7 @@
+ dnl PowerPC-32 mpn_mod_34lsub1 -- mpn remainder mod 2^24-1.
+
+-dnl Copyright 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
++dnl Copyright 2002, 2003, 2005, 2006, 2007, 2012 Free Software Foundation,
++dnl Inc.
+
+ dnl This file is part of the GNU MP Library.
+
+@@ -135,15 +136,15 @@
+
+ andi. r7, up, 15
+ vxor a0, v0, v0
+- lis r0, 0xaaaa
++ lis r9, 0xaaaa
+ vxor a1, v0, v0
+- ori r0, r0, 0xaaab
++ ori r9, r9, 0xaaab
+ vxor a2, v0, v0
+ li r5, 16
+ vxor c0, v0, v0
+ li r6, 32
+ vxor c1, v0, v0
+- LEAL( r11, cnsts)
++ LEAL( r11, cnsts) C CAUTION clobbers r0 for elf, darwin
+ vxor c2, v0, v0
+ vxor z, v0, v0
+
+@@ -158,7 +159,7 @@
+ vsldoi a2, z, a2, 12
+
+ addi n, n, 9
+- mulhwu r0, n, r0
++ mulhwu r0, n, r9
+ srwi r0, r0, 3 C r0 = floor(n/12)
+ mtctr r0
+
+@@ -174,7 +175,7 @@
+ vsldoi a1, z, a1, 8
+
+ addi n, n, 6
+- mulhwu r0, n, r0
++ mulhwu r0, n, r9
+ srwi r0, r0, 3 C r0 = floor(n/12)
+ mtctr r0
+
+@@ -188,7 +189,7 @@
+ vsldoi a0, z, a0, 4
+
+ addi n, n, 3
+- mulhwu r0, n, r0
++ mulhwu r0, n, r9
+ srwi r0, r0, 3 C r0 = floor(n/12)
+ mtctr r0
+
+@@ -197,7 +198,7 @@
+ b L(0)
+
+ L(aligned16):
+- mulhwu r0, n, r0
++ mulhwu r0, n, r9
+ srwi r0, r0, 3 C r0 = floor(n/12)
+ mtctr r0
+
+