summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authormrg <mrg>2015-04-03 07:41:26 +0000
committermrg <mrg>2015-04-03 07:41:26 +0000
commit90b636c3838136069fa1261fa028c8c0968c1fe7 (patch)
tree8fa1a92c27b7437c474cf4f6ab0bed84c2af3565 /devel
parentca29ac4b86c6380219ace5a0456169e7e8d98ee0 (diff)
downloadpkgsrc-90b636c3838136069fa1261fa028c8c0968c1fe7.tar.gz
port some changes from netbsd gmp and adapt them to the gmp 6.x.
this allows devel/gmp to build on armv4.
Diffstat (limited to 'devel')
-rw-r--r--devel/gmp/distinfo4
-rw-r--r--devel/gmp/patches/patch-mpn-arm-netbsd.diff339
-rw-r--r--devel/gmp/patches/patch-mpn_arm_invert__limb.asm13
3 files changed, 341 insertions, 15 deletions
diff --git a/devel/gmp/distinfo b/devel/gmp/distinfo
index 14790629cef..d56093ca3f7 100644
--- a/devel/gmp/distinfo
+++ b/devel/gmp/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.46 2014/04/18 10:49:01 adam Exp $
+$NetBSD: distinfo,v 1.47 2015/04/03 07:41:26 mrg Exp $
SHA1 (gmp-6.0.0a.tar.bz2) = 360802e3541a3da08ab4b55268c80f799939fddc
RMD160 (gmp-6.0.0a.tar.bz2) = 2322e21e2042c974dcfaca2da18ae22d43a23ec4
@@ -6,5 +6,5 @@ Size (gmp-6.0.0a.tar.bz2) = 2319400 bytes
SHA1 (patch-aa) = dec275cbd5886a70f7cf0def1dedf01e7e4a49e9
SHA1 (patch-ab) = 829812822a72a4926ea4cf6e8ffafdcd13a0f76c
SHA1 (patch-ac) = 6f7de0a285bec2c2645479d3090dc0276580f3d8
-SHA1 (patch-mpn_arm_invert__limb.asm) = 0d4c4af299b846834bb13277844df364824d3a09
+SHA1 (patch-mpn-arm-netbsd.diff) = 00ead78b6966e9863b4acacbaeced9a67815f90b
SHA1 (patch-mpn_x86__64_k8_redc_1.asm) = 896a8fcfe9f7370f5628403b93e10a5f52e38944
diff --git a/devel/gmp/patches/patch-mpn-arm-netbsd.diff b/devel/gmp/patches/patch-mpn-arm-netbsd.diff
new file mode 100644
index 00000000000..da99a79db6f
--- /dev/null
+++ b/devel/gmp/patches/patch-mpn-arm-netbsd.diff
@@ -0,0 +1,339 @@
+Index: mpn/arm/aorslsh1_n.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/aorslsh1_n.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/aorslsh1_n.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -151,5 +151,8 @@ L(rt1): mov r14, r12
+ REVCY(r12)
+ L(rt0): RETVAL( r14)
+ pop {r4-r10r11, r14}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/bdiv_dbm1c.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/bdiv_dbm1c.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/bdiv_dbm1c.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -97,5 +97,8 @@ L(wd1): subs r5, r5, r8
+ str r5, [qp]
+ sbc r0, r5, r12
+ pop {r4, r5, r6, r7, r8}
+- bx lr
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+ EPILOGUE()
+Index: mpn/arm/com.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/com.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/com.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/com.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -59,5 +59,9 @@ L(top): ldmia up!, { r3, r8, r9, r12 } C
+ bne L(top)
+
+ ldmfd sp!, { r7, r8, r9 } C restore regs from stack
+-L(rtn): bx lr
++L(rtn):
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+ EPILOGUE()
+Index: mpn/arm/copyd.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm,v
+retrieving revision 1.1.1.2
+retrieving revision 1.2
+diff -p -u -r1.1.1.2 -r1.2
+--- mpn/arm/copyd.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2
++++ mpn/arm/copyd.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -80,5 +80,9 @@
+
+ L(end): stmda rp, { r3,r4,r5,r12 }
+ pop { r4-r5 }
+-L(rtn): bx lr
++L(rtn):
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+ EPILOGUE()
+Index: mpn/arm/copyi.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm,v
+retrieving revision 1.1.1.2
+retrieving revision 1.2
+diff -p -u -r1.1.1.2 -r1.2
+--- mpn/arm/copyi.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2
++++ mpn/arm/copyi.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -75,5 +75,9 @@
+
+ L(end): stm rp, { r3,r4,r5,r12 }
+ pop { r4-r5 }
+-L(rtn): bx lr
++L(rtn):
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+ EPILOGUE()
+Index: mpn/arm/invert_limb.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/invert_limb.asm,v
+retrieving revision 1.1.1.2
+retrieving revision 1.3
+diff -p -u -r1.1.1.2 -r1.3
+--- mpn/arm/invert_limb.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2
++++ mpn/arm/invert_limb.asm 29 Nov 2013 07:57:11 -0000 1.3
+@@ -41,7 +41,10 @@ PROLOGUE(mpn_invert_limb)
+ adds r1, r12, r0
+ adc r3, r3, r0
+ rsb r0, r3, r2
+- bx lr
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+ EPILOGUE()
+
+ .section .rodata
+Index: mpn/arm/logops_n.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/logops_n.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/logops_n.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -123,5 +123,8 @@ L(mid): sub n, n, #4
+ pop { r4, r5, r6, r7 } C popping r8-r10 here strangely fails
+
+ L(rtn): pop { r8, r9, r10 }
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/lshift.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/lshift.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/lshift.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -84,5 +84,8 @@
+ L(1): str r7, [rp, #-4]
+ mov r0, r4, lsr tnc
+ pop {r4, r6, r7, r8}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/lshiftc.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/lshiftc.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/lshiftc.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -91,5 +91,8 @@
+ str r7, [rp, #-4]
+ mov r0, r4, lsr tnc
+ pop {r4, r6, r7, r8}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/mod_34lsub1.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/mod_34lsub1.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/mod_34lsub1.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -94,7 +94,10 @@ L(sum2):
+ add r0, r0, r12, lsr #8
+
+ pop { r4, r5, r6, r7 }
+- bx lr
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+
+ L(le2): cmn n, #1
+ bne L(1)
+@@ -105,5 +108,8 @@ L(1): ldr r2, [ap]
+ bic r0, r2, #0xff000000
+ add r0, r0, r2, lsr #24
+ pop { r4, r5, r6, r7 }
+- bx lr
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+ EPILOGUE()
+Index: mpn/arm/mode1o.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/mode1o.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/mode1o.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -68,5 +68,8 @@ L(end): sbcs cy, r5, cy
+ addcc r0, r0, #1
+
+ ldmfd sp!, {r4, r5}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/rsh1aors_n.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/rsh1aors_n.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/rsh1aors_n.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -108,5 +108,8 @@ L(e1): RSTCY( r12, r1)
+ str r4, [rp, #0]
+ mov r0, r11
+ pop {r4-r11}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/rshift.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -p -u -r1.1.1.1 -r1.2
+--- mpn/arm/rshift.asm 29 Nov 2013 07:49:48 -0000 1.1.1.1
++++ mpn/arm/rshift.asm 29 Nov 2013 08:02:28 -0000 1.2
+@@ -82,5 +82,8 @@
+ L(1): str r7, [rp]
+ mov r0, r4, lsl tnc
+ pop {r4, r6, r7, r8}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/udiv.asm
+===================================================================
+RCS file: /cvsroot/src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm,v
+retrieving revision 1.1.1.2
+retrieving revision 1.4
+diff -p -u -r1.1.1.2 -r1.4
+--- mpn/arm/udiv.asm 29 Nov 2013 07:49:48 -0000 1.1.1.2
++++ mpn/arm/udiv.asm 29 Nov 2013 08:02:28 -0000 1.4
+@@ -50,7 +50,10 @@ L(oop): divstep(n1,n0,d)
+
+ str n1, [rem_ptr] C store remainder
+ adc r0, n0, n0 C quotient: add last carry from divstep
+- bx lr
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+
+ L(_large_divisor):
+ stmfd sp!, { r8, lr }
+Index: mpn/arm/cnd_aors_n.asm
+===================================================================
+--- mpn/arm/cnd_aors_n.asm.orig 2014-03-25 07:37:55.000000000 -0700
++++ mpn/arm/cnd_aors_n.asm 2015-04-01 23:38:37.000000000 -0700
+@@ -130,5 +130,8 @@
+
+ L(end): RETVAL
+ pop {r4-r11}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+Index: mpn/arm/dive_1.asm
+===================================================================
+--- mpn/arm/dive_1.asm.orig 2014-03-25 07:37:55.000000000 -0700
++++ mpn/arm/dive_1.asm 2015-04-02 00:00:58.000000000 -0700
+@@ -112,7 +112,10 @@
+ mul r9, r4, cy
+ str r9, [rp]
+ pop {r4-r9}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+
+ L(unnorm):
+ rsb tnc, cnt, #32
+@@ -136,7 +139,10 @@
+ mul r9, r4, cy
+ str r9, [rp]
+ pop {r4-r9}
+- bx r14
++ifdef(`ARM_THUMB_MODE',
++` bx r14
++',` mov pc, r14
++')
+ EPILOGUE()
+
+ .section .rodata
+Index: mpn/arm/sec_tabselect.asm
+===================================================================
+--- mpn/arm/sec_tabselect.asm.orig 2014-03-25 07:37:55.000000000 -0700
++++ mpn/arm/sec_tabselect.asm 2015-04-02 00:51:31.000000000 -0700
+@@ -109,7 +109,10 @@
+ bge L(tp2)
+ stmia rp, {r8,r9}
+ pop {r4-r11, r14}
+- bx lr
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+
+ L(n2): cmp j, #-2
+ bne L(n1)
+@@ -127,5 +130,8 @@
+ bge L(tp1)
+ str r8, [rp]
+ L(n1): pop {r4-r11, r14}
+- bx lr
++ifdef(`ARM_THUMB_MODE',
++` bx lr
++',` mov pc, lr
++')
+ EPILOGUE()
diff --git a/devel/gmp/patches/patch-mpn_arm_invert__limb.asm b/devel/gmp/patches/patch-mpn_arm_invert__limb.asm
deleted file mode 100644
index 9e22ba5ef91..00000000000
--- a/devel/gmp/patches/patch-mpn_arm_invert__limb.asm
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mpn_arm_invert__limb.asm,v 1.3 2013/01/31 20:30:26 adam Exp $
-
---- mpn/arm/invert_limb.asm.orig 2012-12-18 19:05:09.000000000 +0000
-+++ mpn/arm/invert_limb.asm
-@@ -41,7 +41,7 @@ PROLOGUE(mpn_invert_limb)
- adds r1, r12, r0
- adc r3, r3, r0
- rsb r0, r3, r2
-- bx lr
-+ mov pc,lr
- EPILOGUE()
-
- .section .rodata