summaryrefslogtreecommitdiff
path: root/devel/gmp
diff options
context:
space:
mode:
authoradam <adam>2013-01-31 20:30:25 +0000
committeradam <adam>2013-01-31 20:30:25 +0000
commit6eee88a41dd07ac03f6d0fd4779045c5a21f25b1 (patch)
tree426843fefe95a00a4667f16d62500effeaf2ff20 /devel/gmp
parent59435336dca2167937c15387ee03cb540870100b (diff)
downloadpkgsrc-6eee88a41dd07ac03f6d0fd4779045c5a21f25b1.tar.gz
Changes 5.1.0:
BUGS FIXED * When reading a C++ number (like mpz_class) in an istream reaches the end of the stream, the eofbit is now set. * The result sign of mpz_rootrem's remainder is now always correct. * The mpz_remove function now handles negative divisors. * Contains all fixes from release 5.0.5. SPEEDUPS * The n-factorial and n-over-k functions have been reimplemented for great speedups for small and large operands. * New subquadratic algorithm for the Kronecker/Jacobi/Legendre symbol. * Major speedup for ARM, in particular ARM Cortex-A9 and A15, thanks to broad assembly support. * Significant speedup or POWER6 and POWER7 thanks to improved assembly. * The performance under M$ Windows' 64-bit ABI has been greatly improved thanks to complete assembly support. * Minor speed improvements of many functions and for many platforms. FEATURES * Many new CPUs recognised. * New functions for multi-factorials, and primorial: mpz_2fac_ui, mpz_mfac_uiui and mpz_primorial_ui. * The mpz_powm_sec function now uses side-channel silent division for converting into Montgomery residues. * The fat binary mechanism is now more robust in its CPU recognition. MISC * Inclusion of assembly code is now controlled by the configure options --enable-assembly and --disable-assembly. The "none" CPU targets is gone. * In C++, the conversions mpq_class->mpz_class, mpf_class->mpz_class and mpf_class->mpq_class are now explicit. * Includes "mini-gmp", a small, portable, but less efficient, implementation of a subset of GMP's mpn and mpz interfaces. Used in GMP bootstrap, but it can also be bundled with applications as a fallback when the real GMP library is unavailable. * The ABIs under AIX are no longer called aix32 and aix64, but mode64 and 32. This is more consistent with other powerpc systems. * The coverage of the testsuite has been improved, using the lcov tool. See also http://gmplib.org/devel/lcov/. * It is now possible to compile GMP using a C++ compiler. * K&R C compilers are no longer supported. * The BSD MP compatibility functions have been removed.
Diffstat (limited to 'devel/gmp')
-rw-r--r--devel/gmp/Makefile11
-rw-r--r--devel/gmp/distinfo23
-rw-r--r--devel/gmp/inplace.mk3
-rw-r--r--devel/gmp/patches/patch-aa4
-rw-r--r--devel/gmp/patches/patch-ab4
-rw-r--r--devel/gmp/patches/patch-ac12
-rw-r--r--devel/gmp/patches/patch-ad64
-rw-r--r--devel/gmp/patches/patch-ae181
-rw-r--r--devel/gmp/patches/patch-af55
-rw-r--r--devel/gmp/patches/patch-ag171
-rw-r--r--devel/gmp/patches/patch-ah51
-rw-r--r--devel/gmp/patches/patch-ai64
-rw-r--r--devel/gmp/patches/patch-aj181
-rw-r--r--devel/gmp/patches/patch-mpn_arm_invert__limb.asm10
14 files changed, 29 insertions, 805 deletions
diff --git a/devel/gmp/Makefile b/devel/gmp/Makefile
index 299cace300c..f1edbc66bd7 100644
--- a/devel/gmp/Makefile
+++ b/devel/gmp/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.64 2012/10/31 11:17:01 asau Exp $
+# $NetBSD: Makefile,v 1.65 2013/01/31 20:30:25 adam Exp $
-DISTNAME= gmp-5.0.5
+DISTNAME= gmp-5.1.0
CATEGORIES= devel math
-MASTER_SITES= ${MASTER_SITE_GNU:=gmp/}
-EXTRACT_SUFX= .tar.bz2
+MASTER_SITES= ftp://ftp.gmplib.org/pub/${DISTNAME}/
+EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://gmplib.org/
@@ -12,12 +12,11 @@ LICENSE= gnu-lgpl-v3 AND gnu-gpl-v3
PKG_INSTALLATION_TYPES= overwrite pkgviews
-GNU_CONFIGURE= yes
INFO_FILES= yes
USE_LANGUAGES= c c++ c99
USE_LIBTOOL= yes
USE_TOOLS+= gm4 autoconf makeinfo
-
+GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --without-readline
TEST_TARGET= check
diff --git a/devel/gmp/distinfo b/devel/gmp/distinfo
index 6fbc6d23544..b6292c85d00 100644
--- a/devel/gmp/distinfo
+++ b/devel/gmp/distinfo
@@ -1,16 +1,9 @@
-$NetBSD: distinfo,v 1.38 2012/05/11 14:08:59 drochner Exp $
+$NetBSD: distinfo,v 1.39 2013/01/31 20:30:25 adam Exp $
-SHA1 (gmp-5.0.5.tar.bz2) = 12a662456033e21aed3e318aef4177f4000afe3b
-RMD160 (gmp-5.0.5.tar.bz2) = 2e767b7392bd1f34a235ca061d1a016e9ec7d564
-Size (gmp-5.0.5.tar.bz2) = 2052144 bytes
-SHA1 (patch-aa) = a53db34c8ecf38d6556a59a0fa7382456c30fab6
-SHA1 (patch-ab) = e768eca25c117871041d12a618e38d9d252f25e5
-SHA1 (patch-ac) = 9c7e6817632596bfd6c86a30e3b2d7f78fccd5ff
-SHA1 (patch-ad) = 96ea97d0ac6b2a8df4e7d6e33bbe6ec54bf17d4f
-SHA1 (patch-ae) = affe0829a9e23470f26212a9ac6d60485b08ea88
-SHA1 (patch-af) = 8d30438c3bd5bc01d7752e09da265b93098ae5ef
-SHA1 (patch-ag) = 66f5cd58ca75a19e3136bb2dedced9b406df82ce
-SHA1 (patch-ah) = 6144e12426073013ec2a4582f1b795c7de7a6c35
-SHA1 (patch-ai) = 2a692aac1a3fe191156d5ce66c13eb33e3c4fc8c
-SHA1 (patch-aj) = 49e8945703e67f7a158ed7fd496188d85c659fb3
-SHA1 (patch-mpn_arm_invert__limb.asm) = f0565d76c56a6547027fa85850639d2e69f72a51
+SHA1 (gmp-5.1.0.tar.xz) = 5119848b69259de9384994ff7d4fbc2f54074895
+RMD160 (gmp-5.1.0.tar.xz) = 277e5177bd085fd3de432903844b634ef4c96ee9
+Size (gmp-5.1.0.tar.xz) = 1806216 bytes
+SHA1 (patch-aa) = ce0eefbbffe426aee5025e0d304c34954573609b
+SHA1 (patch-ab) = 829812822a72a4926ea4cf6e8ffafdcd13a0f76c
+SHA1 (patch-ac) = 6f7de0a285bec2c2645479d3090dc0276580f3d8
+SHA1 (patch-mpn_arm_invert__limb.asm) = 0d4c4af299b846834bb13277844df364824d3a09
diff --git a/devel/gmp/inplace.mk b/devel/gmp/inplace.mk
index 61aaf1bd390..a1f599aa328 100644
--- a/devel/gmp/inplace.mk
+++ b/devel/gmp/inplace.mk
@@ -1,4 +1,4 @@
-# $NetBSD: inplace.mk,v 1.1 2012/04/13 11:00:14 hans Exp $
+# $NetBSD: inplace.mk,v 1.2 2013/01/31 20:30:25 adam Exp $
#
# Include this file to extract devel/gmp source into the WRKSRC of
# another package. This is to be used by GCC packages to avoid the
@@ -10,4 +10,3 @@ extract-inplace-gmp:
(cd ../../devel/gmp && ${MAKE} WRKDIR=${WRKSRC}/.devel.gmp EXTRACT_DIR=${WRKSRC} \
WRKSRC='$${EXTRACT_DIR}/$${DISTNAME}' SKIP_DEPENDS=YES fetch patch clean)
${MV} ${WRKSRC}/gmp-* ${WRKSRC}/gmp
-
diff --git a/devel/gmp/patches/patch-aa b/devel/gmp/patches/patch-aa
index c8240026b66..bca9d821e55 100644
--- a/devel/gmp/patches/patch-aa
+++ b/devel/gmp/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.11 2006/12/09 03:38:16 jnemeth Exp $
+$NetBSD: patch-aa,v 1.12 2013/01/31 20:30:26 adam Exp $
--- longlong.h.orig 2006-12-08 17:56:28.000000000 -0800
+++ longlong.h
-@@ -826,8 +826,10 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO (
+@@ -1031,8 +1031,10 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO (
count is only an int. */
#define count_trailing_zeros(count, x) \
do { \
diff --git a/devel/gmp/patches/patch-ab b/devel/gmp/patches/patch-ab
index 7b59eece3ed..5cdd9ca85d3 100644
--- a/devel/gmp/patches/patch-ab
+++ b/devel/gmp/patches/patch-ab
@@ -1,10 +1,10 @@
-$NetBSD: patch-ab,v 1.7 2007/11/25 08:35:32 rillig Exp $
+$NetBSD: patch-ab,v 1.8 2013/01/31 20:30:26 adam Exp $
Fixed detection of __attribute__((__mode__(XX))) for sunpro.
--- acinclude.m4.orig 2007-09-01 12:09:03.000000000 +0200
+++ acinclude.m4 2007-11-25 09:26:07.000000000 +0100
-@@ -3016,7 +3016,15 @@ dnl Introduced in gcc 2.2, but perhaps
+@@ -3068,7 +3068,15 @@ dnl Introduced in gcc 2.2, but perhaps
AC_DEFUN([GMP_C_ATTRIBUTE_MODE],
[AC_CACHE_CHECK([whether gcc __attribute__ ((mode (XX))) works],
gmp_cv_c_attribute_mode,
diff --git a/devel/gmp/patches/patch-ac b/devel/gmp/patches/patch-ac
index f0d05e9f4dd..3de57473482 100644
--- a/devel/gmp/patches/patch-ac
+++ b/devel/gmp/patches/patch-ac
@@ -1,17 +1,17 @@
-$NetBSD: patch-ac,v 1.9 2008/11/20 16:44:45 adam Exp $
+$NetBSD: patch-ac,v 1.10 2013/01/31 20:30:26 adam Exp $
---- gmp-h.in.orig 2008-09-10 23:02:01.000000000 +0200
+--- gmp-h.in.orig 2012-12-18 19:05:09.000000000 +0000
+++ gmp-h.in
-@@ -421,6 +421,8 @@ typedef __mpq_struct *mpq_ptr;
+@@ -359,6 +359,8 @@ typedef __mpq_struct *mpq_ptr;
GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
inline semantics, unless -fgnu89-inline is used. */
#ifdef __GNUC__
+#if defined(__APPLE_CC__) && __APPLE_CC__ > 5400 && __STDC_VERSION__ >= 199901L
+#else
- #if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2)
+ #if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \
+ || (defined __GNUC_GNU_INLINE__ && defined __cplusplus)
#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__))
- #else
-@@ -428,6 +430,7 @@ typedef __mpq_struct *mpq_ptr;
+@@ -367,6 +369,7 @@ typedef __mpq_struct *mpq_ptr;
#endif
#define __GMP_INLINE_PROTOTYPES 1
#endif
diff --git a/devel/gmp/patches/patch-ad b/devel/gmp/patches/patch-ad
deleted file mode 100644
index eb6a47bc48e..00000000000
--- a/devel/gmp/patches/patch-ad
+++ /dev/null
@@ -1,64 +0,0 @@
-$NetBSD: patch-ad,v 1.9 2010/05/28 13:50:25 martin Exp $
-
---- mpn/vax/add_n.s.orig 2010-02-06 13:43:14.000000000 +0100
-+++ mpn/vax/add_n.s 2010-05-28 10:26:03.000000000 +0200
-@@ -27,33 +27,33 @@
-
- .text
- .align 1
--.globl ___gmpn_add_n
--___gmpn_add_n:
-+.globl __gmpn_add_n
-+__gmpn_add_n:
- .word 0x0
-- movl 16(ap),r0
-- movl 12(ap),r1
-- movl 8(ap),r2
-- movl 4(ap),r3
-- mnegl r0,r5
-- addl2 $3,r0
-- ashl $-2,r0,r0 # unroll loop count
-- bicl2 $-4,r5 # mask out low 2 bits
-- movaq (r5)[r5],r5 # 9x
-- jmp Loop(r5)
-+ movl 16(%ap),%r0
-+ movl 12(%ap),%r1
-+ movl 8(%ap),%r2
-+ movl 4(%ap),%r3
-+ mnegl %r0,%r5
-+ addl2 $3,%r0
-+ ashl $-2,%r0,%r0 # unroll loop count
-+ bicl2 $-4,%r5 # mask out low 2 bits
-+ movaq (%r5)[%r5],%r5 # 9x
-+ jmp .Loop[%r5]
-
--Loop: movl (r2)+,r4
-- adwc (r1)+,r4
-- movl r4,(r3)+
-- movl (r2)+,r4
-- adwc (r1)+,r4
-- movl r4,(r3)+
-- movl (r2)+,r4
-- adwc (r1)+,r4
-- movl r4,(r3)+
-- movl (r2)+,r4
-- adwc (r1)+,r4
-- movl r4,(r3)+
-- sobgtr r0,Loop
-+.Loop: movl (%r2)+,%r4
-+ adwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ movl (%r2)+,%r4
-+ adwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ movl (%r2)+,%r4
-+ adwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ movl (%r2)+,%r4
-+ adwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ sobgtr %r0,.Loop
-
-- adwc r0,r0
-+ adwc %r0,%r0
- ret
diff --git a/devel/gmp/patches/patch-ae b/devel/gmp/patches/patch-ae
deleted file mode 100644
index f64ab367ea0..00000000000
--- a/devel/gmp/patches/patch-ae
+++ /dev/null
@@ -1,181 +0,0 @@
-$NetBSD: patch-ae,v 1.3 2010/05/28 13:50:26 martin Exp $
-
---- mpn/vax/addmul_1.s.orig 2010-02-06 13:43:14.000000000 +0100
-+++ mpn/vax/addmul_1.s 2010-05-25 10:04:02.000000000 +0200
-@@ -27,98 +27,98 @@
-
- .text
- .align 1
--.globl ___gmpn_addmul_1
--___gmpn_addmul_1:
-+.globl __gmpn_addmul_1
-+__gmpn_addmul_1:
- .word 0xfc0
-- movl 12(ap),r4
-- movl 8(ap),r8
-- movl 4(ap),r9
-- movl 16(ap),r6
-- jlss s2_big
--
-- clrl r3
-- incl r4
-- ashl $-1,r4,r7
-- jlbc r4,L1
-- clrl r11
-+ movl 12(%ap),%r4
-+ movl 8(%ap),%r8
-+ movl 4(%ap),%r9
-+ movl 16(%ap),%r6
-+ jlss .Ls2_big
-+
-+ clrl %r3
-+ incl %r4
-+ ashl $-1,%r4,%r7
-+ jlbc %r4,.L1
-+ clrl %r11
-
- # Loop for S2_LIMB < 0x80000000
--Loop1: movl (r8)+,r1
-- jlss L1n0
-- emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc $0,r3
-- addl2 r2,(r9)+
-- adwc $0,r3
--L1: movl (r8)+,r1
-- jlss L1n1
--L1p1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc $0,r11
-- addl2 r10,(r9)+
-- adwc $0,r11
-+.Loop1: movl (%r8)+,%r1
-+ jlss .L1n0
-+ emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc $0,%r3
-+ addl2 %r2,(%r9)+
-+ adwc $0,%r3
-+.L1: movl (%r8)+,%r1
-+ jlss .L1n1
-+.L1p1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc $0,%r11
-+ addl2 %r10,(%r9)+
-+ adwc $0,%r11
-
-- sobgtr r7,Loop1
-- movl r11,r0
-+ sobgtr %r7,.Loop1
-+ movl %r11,%r0
- ret
-
--L1n0: emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r6,r3
-- addl2 r2,(r9)+
-- adwc $0,r3
-- movl (r8)+,r1
-- jgeq L1p1
--L1n1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r6,r11
-- addl2 r10,(r9)+
-- adwc $0,r11
-+.L1n0: emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r6,%r3
-+ addl2 %r2,(%r9)+
-+ adwc $0,%r3
-+ movl (%r8)+,%r1
-+ jgeq .L1p1
-+.L1n1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r6,%r11
-+ addl2 %r10,(%r9)+
-+ adwc $0,%r11
-
-- sobgtr r7,Loop1
-- movl r11,r0
-+ sobgtr %r7,.Loop1
-+ movl %r11,%r0
- ret
-
-
--s2_big: clrl r3
-- incl r4
-- ashl $-1,r4,r7
-- jlbc r4,L2
-- clrl r11
-+.Ls2_big: clrl %r3
-+ incl %r4
-+ ashl $-1,%r4,%r7
-+ jlbc %r4,.L2
-+ clrl %r11
-
- # Loop for S2_LIMB >= 0x80000000
--Loop2: movl (r8)+,r1
-- jlss L2n0
-- emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r1,r3
-- addl2 r2,(r9)+
-- adwc $0,r3
--L2: movl (r8)+,r1
-- jlss L2n1
--L2p1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r1,r11
-- addl2 r10,(r9)+
-- adwc $0,r11
-+.Loop2: movl (%r8)+,%r1
-+ jlss .L2n0
-+ emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r1,%r3
-+ addl2 %r2,(%r9)+
-+ adwc $0,%r3
-+.L2: movl (%r8)+,%r1
-+ jlss .L2n1
-+.L2p1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r1,%r11
-+ addl2 %r10,(%r9)+
-+ adwc $0,%r11
-
-- sobgtr r7,Loop2
-- movl r11,r0
-+ sobgtr %r7,.Loop2
-+ movl %r11,%r0
- ret
-
--L2n0: emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r6,r3
-- addl2 r2,(r9)+
-- adwc r1,r3
-- movl (r8)+,r1
-- jgeq L2p1
--L2n1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r6,r11
-- addl2 r10,(r9)+
-- adwc r1,r11
-+.L2n0: emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r6,%r3
-+ addl2 %r2,(%r9)+
-+ adwc %r1,%r3
-+ movl (%r8)+,%r1
-+ jgeq .L2p1
-+.L2n1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r6,%r11
-+ addl2 %r10,(%r9)+
-+ adwc %r1,%r11
-
-- sobgtr r7,Loop2
-- movl r11,r0
-+ sobgtr %r7,.Loop2
-+ movl %r11,%r0
- ret
diff --git a/devel/gmp/patches/patch-af b/devel/gmp/patches/patch-af
deleted file mode 100644
index be7661df02b..00000000000
--- a/devel/gmp/patches/patch-af
+++ /dev/null
@@ -1,55 +0,0 @@
-$NetBSD: patch-af,v 1.3 2010/05/28 13:50:26 martin Exp $
-
---- mpn/vax/lshift.s.orig 2010-02-06 13:43:14.000000000 +0100
-+++ mpn/vax/lshift.s 2010-05-25 10:04:33.000000000 +0200
-@@ -28,29 +28,29 @@
-
- .text
- .align 1
--.globl ___gmpn_lshift
--___gmpn_lshift:
-+.globl __gmpn_lshift
-+__gmpn_lshift:
- .word 0x1c0
-- movl 4(ap),r7
-- movl 8(ap),r6
-- movl 12(ap),r1
-- movl 16(ap),r8
-+ movl 4(%ap),%r7
-+ movl 8(%ap),%r6
-+ movl 12(%ap),%r1
-+ movl 16(%ap),%r8
-
-- moval (r6)[r1],r6
-- moval (r7)[r1],r7
-- clrl r3
-- movl -(r6),r2
-- ashq r8,r2,r4
-- movl r5,r0
-- movl r2,r3
-- decl r1
-- jeql Lend
-+ moval (%r6)[%r1],%r6
-+ moval (%r7)[%r1],%r7
-+ clrl %r3
-+ movl -(%r6),%r2
-+ ashq %r8,%r2,%r4
-+ movl %r5,%r0
-+ movl %r2,%r3
-+ decl %r1
-+ jeql .Lend
-
--Loop: movl -(r6),r2
-- ashq r8,r2,r4
-- movl r5,-(r7)
-- movl r2,r3
-- sobgtr r1,Loop
-+.Loop: movl -(%r6),%r2
-+ ashq %r8,%r2,%r4
-+ movl %r5,-(%r7)
-+ movl %r2,%r3
-+ sobgtr %r1,.Loop
-
--Lend: movl r4,-4(r7)
-+.Lend: movl %r4,-4(%r7)
- ret
diff --git a/devel/gmp/patches/patch-ag b/devel/gmp/patches/patch-ag
deleted file mode 100644
index 7337247fc97..00000000000
--- a/devel/gmp/patches/patch-ag
+++ /dev/null
@@ -1,171 +0,0 @@
-$NetBSD: patch-ag,v 1.3 2010/05/28 13:50:26 martin Exp $
-
---- mpn/vax/mul_1.s.orig 2010-02-06 13:43:14.000000000 +0100
-+++ mpn/vax/mul_1.s 2010-05-25 00:27:32.000000000 +0200
-@@ -27,95 +27,95 @@
-
- .text
- .align 1
--.globl ___gmpn_mul_1
--___gmpn_mul_1:
-+.globl __gmpn_mul_1
-+__gmpn_mul_1:
- .word 0xfc0
-- movl 12(ap),r4
-- movl 8(ap),r8
-- movl 4(ap),r9
-- movl 16(ap),r6
-- jlss s2_big
-+ movl 12(%ap),%r4
-+ movl 8(%ap),%r8
-+ movl 4(%ap),%r9
-+ movl 16(%ap),%r6
-+ jlss .Ls2_big
-
- # One might want to combine the addl2 and the store below, but that
- # is actually just slower according to my timing tests. (VAX 3600)
-
-- clrl r3
-- incl r4
-- ashl $-1,r4,r7
-- jlbc r4,L1
-- clrl r11
-+ clrl %r3
-+ incl %r4
-+ ashl $-1,%r4,%r7
-+ jlbc %r4,.L1
-+ clrl %r11
-
- # Loop for S2_LIMB < 0x80000000
--Loop1: movl (r8)+,r1
-- jlss L1n0
-- emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc $0,r3
-- movl r2,(r9)+
--L1: movl (r8)+,r1
-- jlss L1n1
--L1p1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc $0,r11
-- movl r10,(r9)+
-+.Loop1: movl (%r8)+,%r1
-+ jlss .L1n0
-+ emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc $0,%r3
-+ movl %r2,(%r9)+
-+.L1: movl (%r8)+,%r1
-+ jlss .L1n1
-+.L1p1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc $0,%r11
-+ movl %r10,(%r9)+
-
-- sobgtr r7,Loop1
-- movl r11,r0
-+ sobgtr %r7,.Loop1
-+ movl %r11,%r0
- ret
-
--L1n0: emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r6,r3
-- movl r2,(r9)+
-- movl (r8)+,r1
-- jgeq L1p1
--L1n1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r6,r11
-- movl r10,(r9)+
-+.L1n0: emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r6,%r3
-+ movl %r2,(%r9)+
-+ movl (%r8)+,%r1
-+ jgeq .L1p1
-+.L1n1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r6,%r11
-+ movl %r10,(%r9)+
-
-- sobgtr r7,Loop1
-- movl r11,r0
-+ sobgtr %r7,.Loop1
-+ movl %r11,%r0
- ret
-
-
--s2_big: clrl r3
-- incl r4
-- ashl $-1,r4,r7
-- jlbc r4,L2
-- clrl r11
-+.Ls2_big: clrl %r3
-+ incl %r4
-+ ashl $-1,%r4,%r7
-+ jlbc %r4,.L2
-+ clrl %r11
-
- # Loop for S2_LIMB >= 0x80000000
--Loop2: movl (r8)+,r1
-- jlss L2n0
-- emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r1,r3
-- movl r2,(r9)+
--L2: movl (r8)+,r1
-- jlss L2n1
--L2p1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r1,r11
-- movl r10,(r9)+
-+.Loop2: movl (%r8)+,%r1
-+ jlss .L2n0
-+ emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r1,%r3
-+ movl %r2,(%r9)+
-+.L2: movl (%r8)+,%r1
-+ jlss .L2n1
-+.L2p1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r1,%r11
-+ movl %r10,(%r9)+
-
-- sobgtr r7,Loop2
-- movl r11,r0
-+ sobgtr %r7,.Loop2
-+ movl %r11,%r0
- ret
-
--L2n0: emul r1,r6,$0,r2
-- addl2 r1,r3
-- addl2 r11,r2
-- adwc r6,r3
-- movl r2,(r9)+
-- movl (r8)+,r1
-- jgeq L2p1
--L2n1: emul r1,r6,$0,r10
-- addl2 r1,r11
-- addl2 r3,r10
-- adwc r6,r11
-- movl r10,(r9)+
-+.L2n0: emul %r1,%r6,$0,%r2
-+ addl2 %r1,%r3
-+ addl2 %r11,%r2
-+ adwc %r6,%r3
-+ movl %r2,(%r9)+
-+ movl (%r8)+,%r1
-+ jgeq .L2p1
-+.L2n1: emul %r1,%r6,$0,%r10
-+ addl2 %r1,%r11
-+ addl2 %r3,%r10
-+ adwc %r6,%r11
-+ movl %r10,(%r9)+
-
-- sobgtr r7,Loop2
-- movl r11,r0
-+ sobgtr %r7,.Loop2
-+ movl %r11,%r0
- ret
diff --git a/devel/gmp/patches/patch-ah b/devel/gmp/patches/patch-ah
deleted file mode 100644
index b1b0421478a..00000000000
--- a/devel/gmp/patches/patch-ah
+++ /dev/null
@@ -1,51 +0,0 @@
-$NetBSD: patch-ah,v 1.3 2010/05/28 13:50:26 martin Exp $
-
---- mpn/vax/rshift.s.orig 2010-02-06 13:43:14.000000000 +0100
-+++ mpn/vax/rshift.s 2010-05-25 10:05:24.000000000 +0200
-@@ -28,27 +28,27 @@
-
- .text
- .align 1
--.globl ___gmpn_rshift
--___gmpn_rshift:
-+.globl __gmpn_rshift
-+__gmpn_rshift:
- .word 0x1c0
-- movl 4(ap),r7
-- movl 8(ap),r6
-- movl 12(ap),r1
-- movl 16(ap),r8
-+ movl 4(%ap),%r7
-+ movl 8(%ap),%r6
-+ movl 12(%ap),%r1
-+ movl 16(%ap),%r8
-
-- movl (r6)+,r2
-- subl3 r8,$32,r8
-- ashl r8,r2,r0
-- decl r1
-- jeql Lend
-+ movl (%r6)+,%r2
-+ subl3 %r8,$32,%r8
-+ ashl %r8,%r2,%r0
-+ decl %r1
-+ jeql .Lend
-
--Loop: movl (r6)+,r3
-- ashq r8,r2,r4
-- movl r5,(r7)+
-- movl r3,r2
-- sobgtr r1,Loop
-+.Loop: movl (%r6)+,%r3
-+ ashq %r8,%r2,%r4
-+ movl %r5,(%r7)+
-+ movl %r3,%r2
-+ sobgtr %r1,.Loop
-
--Lend: clrl r3
-- ashq r8,r2,r4
-- movl r5,(r7)
-+.Lend: clrl %r3
-+ ashq %r8,%r2,%r4
-+ movl %r5,(%r7)
- ret
diff --git a/devel/gmp/patches/patch-ai b/devel/gmp/patches/patch-ai
deleted file mode 100644
index 29a44048c15..00000000000
--- a/devel/gmp/patches/patch-ai
+++ /dev/null
@@ -1,64 +0,0 @@
-$NetBSD: patch-ai,v 1.3 2010/05/28 13:50:26 martin Exp $
-
---- mpn/vax/sub_n.s.orig 2010-02-06 13:43:14.000000000 +0100
-+++ mpn/vax/sub_n.s 2010-05-28 10:26:30.000000000 +0200
-@@ -27,33 +27,33 @@
-
- .text
- .align 1
--.globl ___gmpn_sub_n
--___gmpn_sub_n:
-+.globl __gmpn_sub_n
-+__gmpn_sub_n:
- .word 0x0
-- movl 16(ap),r0
-- movl 12(ap),r1
-- movl 8(ap),r2
-- movl 4(ap),r3
-- mnegl r0,r5
-- addl2 $3,r0
-- ashl $-2,r0,r0 # unroll loop count
-- bicl2 $-4,r5 # mask out low 2 bits
-- movaq (r5)[r5],r5 # 9x
-- jmp Loop(r5)
-+ movl 16(%ap),%r0
-+ movl 12(%ap),%r1
-+ movl 8(%ap),%r2
-+ movl 4(%ap),%r3
-+ mnegl %r0,%r5
-+ addl2 $3,%r0
-+ ashl $-2,%r0,%r0 # unroll loop count
-+ bicl2 $-4,%r5 # mask out low 2 bits
-+ movaq (%r5)[%r5],%r5 # 9x
-+ jmp .Loop[%r5]
-
--Loop: movl (r2)+,r4
-- sbwc (r1)+,r4
-- movl r4,(r3)+
-- movl (r2)+,r4
-- sbwc (r1)+,r4
-- movl r4,(r3)+
-- movl (r2)+,r4
-- sbwc (r1)+,r4
-- movl r4,(r3)+
-- movl (r2)+,r4
-- sbwc (r1)+,r4
-- movl r4,(r3)+
-- sobgtr r0,Loop
-+.Loop: movl (%r2)+,%r4
-+ sbwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ movl (%r2)+,%r4
-+ sbwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ movl (%r2)+,%r4
-+ sbwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ movl (%r2)+,%r4
-+ sbwc (%r1)+,%r4
-+ movl %r4,(%r3)+
-+ sobgtr %r0,.Loop
-
-- adwc r0,r0
-+ adwc %r0,%r0
- ret
diff --git a/devel/gmp/patches/patch-aj b/devel/gmp/patches/patch-aj
deleted file mode 100644
index fb8dd3ea4ed..00000000000
--- a/devel/gmp/patches/patch-aj
+++ /dev/null
@@ -1,181 +0,0 @@
-$NetBSD: patch-aj,v 1.3 2010/05/28 13:50:26 martin Exp $
-
---- mpn/vax/submul_1.s.orig 2010-02-06 13:43:14.000000000 +0100
-+++ mpn/vax/submul_1.s 2010-05-25 10:07:06.000000000 +0200
-@@ -27,98 +27,98 @@
-
- .text
- .align 1
--.globl ___gmpn_submul_1
--___gmpn_submul_1:
-+.globl __gmpn_submul_1
-+__gmpn_submul_1:
- .word 0xfc0
-- movl 12(ap),r4
-- movl 8(ap),r8
-- movl 4(ap),r9
-- movl 16(ap),r6
-- jlss s2_big
--
-- clrl r3
-- incl r4
-- ashl $-1,r4,r7
-- jlbc r4,L1
-- clrl r11
-+ movl 12(%ap),%r4
-+ movl 8(%ap),%r8
-+ movl 4(%ap),%r9
-+ movl 16(%ap),%r6
-+ jlss .Ls2_big
-+
-+ clrl %r3
-+ incl %r4
-+ ashl $-1,%r4,%r7
-+ jlbc %r4,.L1
-+ clrl %r11
-
- # Loop for S2_LIMB < 0x80000000
--Loop1: movl (r8)+,r1
-- jlss L1n0
-- emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc $0,r3
-- subl2 r2,(r9)+
-- adwc $0,r3
--L1: movl (r8)+,r1
-- jlss L1n1
--L1p1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc $0,r11
-- subl2 r10,(r9)+
-- adwc $0,r11
-+.Loop1: movl (%r8)+,%r1
-+ jlss .L1n0
-+ emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc $0,%r3
-+ subl2 %r2,(%r9)+
-+ adwc $0,%r3
-+.L1: movl (%r8)+,%r1
-+ jlss .L1n1
-+.L1p1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc $0,%r11
-+ subl2 %r10,(%r9)+
-+ adwc $0,%r11
-
-- sobgtr r7,Loop1
-- movl r11,r0
-+ sobgtr %r7,.Loop1
-+ movl %r11,%r0
- ret
-
--L1n0: emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r6,r3
-- subl2 r2,(r9)+
-- adwc $0,r3
-- movl (r8)+,r1
-- jgeq L1p1
--L1n1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r6,r11
-- subl2 r10,(r9)+
-- adwc $0,r11
-+.L1n0: emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r6,%r3
-+ subl2 %r2,(%r9)+
-+ adwc $0,%r3
-+ movl (%r8)+,%r1
-+ jgeq .L1p1
-+.L1n1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r6,%r11
-+ subl2 %r10,(%r9)+
-+ adwc $0,%r11
-
-- sobgtr r7,Loop1
-- movl r11,r0
-+ sobgtr %r7,.Loop1
-+ movl %r11,%r0
- ret
-
-
--s2_big: clrl r3
-- incl r4
-- ashl $-1,r4,r7
-- jlbc r4,L2
-- clrl r11
-+.Ls2_big: clrl %r3
-+ incl %r4
-+ ashl $-1,%r4,%r7
-+ jlbc %r4,.L2
-+ clrl %r11
-
- # Loop for S2_LIMB >= 0x80000000
--Loop2: movl (r8)+,r1
-- jlss L2n0
-- emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r1,r3
-- subl2 r2,(r9)+
-- adwc $0,r3
--L2: movl (r8)+,r1
-- jlss L2n1
--L2p1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r1,r11
-- subl2 r10,(r9)+
-- adwc $0,r11
-+.Loop2: movl (%r8)+,%r1
-+ jlss .L2n0
-+ emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r1,%r3
-+ subl2 %r2,(%r9)+
-+ adwc $0,%r3
-+.L2: movl (%r8)+,%r1
-+ jlss .L2n1
-+.L2p1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r1,%r11
-+ subl2 %r10,(%r9)+
-+ adwc $0,%r11
-
-- sobgtr r7,Loop2
-- movl r11,r0
-+ sobgtr %r7,.Loop2
-+ movl %r11,%r0
- ret
-
--L2n0: emul r1,r6,$0,r2
-- addl2 r11,r2
-- adwc r6,r3
-- subl2 r2,(r9)+
-- adwc r1,r3
-- movl (r8)+,r1
-- jgeq L2p1
--L2n1: emul r1,r6,$0,r10
-- addl2 r3,r10
-- adwc r6,r11
-- subl2 r10,(r9)+
-- adwc r1,r11
-+.L2n0: emul %r1,%r6,$0,%r2
-+ addl2 %r11,%r2
-+ adwc %r6,%r3
-+ subl2 %r2,(%r9)+
-+ adwc %r1,%r3
-+ movl (%r8)+,%r1
-+ jgeq .L2p1
-+.L2n1: emul %r1,%r6,$0,%r10
-+ addl2 %r3,%r10
-+ adwc %r6,%r11
-+ subl2 %r10,(%r9)+
-+ adwc %r1,%r11
-
-- sobgtr r7,Loop2
-- movl r11,r0
-+ sobgtr %r7,.Loop2
-+ movl %r11,%r0
- ret
diff --git a/devel/gmp/patches/patch-mpn_arm_invert__limb.asm b/devel/gmp/patches/patch-mpn_arm_invert__limb.asm
index ef23d91933a..9e22ba5ef91 100644
--- a/devel/gmp/patches/patch-mpn_arm_invert__limb.asm
+++ b/devel/gmp/patches/patch-mpn_arm_invert__limb.asm
@@ -1,13 +1,13 @@
-$NetBSD: patch-mpn_arm_invert__limb.asm,v 1.2 2012/02/21 13:18:19 drochner Exp $
+$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-01-27 08:59:30.000000000 +0000
+--- mpn/arm/invert_limb.asm.orig 2012-12-18 19:05:09.000000000 +0000
+++ mpn/arm/invert_limb.asm
-@@ -42,7 +42,7 @@ L(2): add r2, pc, r2
+@@ -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()
- ALIGN(4)
- L(4): .word approx_tab-8-512-L(2)
+ .section .rodata