From 6eee88a41dd07ac03f6d0fd4779045c5a21f25b1 Mon Sep 17 00:00:00 2001 From: adam Date: Thu, 31 Jan 2013 20:30:25 +0000 Subject: 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. --- devel/gmp/Makefile | 11 +- devel/gmp/distinfo | 23 +-- devel/gmp/inplace.mk | 3 +- devel/gmp/patches/patch-aa | 4 +- devel/gmp/patches/patch-ab | 4 +- devel/gmp/patches/patch-ac | 12 +- devel/gmp/patches/patch-ad | 64 -------- devel/gmp/patches/patch-ae | 181 ----------------------- devel/gmp/patches/patch-af | 55 ------- devel/gmp/patches/patch-ag | 171 --------------------- devel/gmp/patches/patch-ah | 51 ------- devel/gmp/patches/patch-ai | 64 -------- devel/gmp/patches/patch-aj | 181 ----------------------- devel/gmp/patches/patch-mpn_arm_invert__limb.asm | 10 +- 14 files changed, 29 insertions(+), 805 deletions(-) delete mode 100644 devel/gmp/patches/patch-ad delete mode 100644 devel/gmp/patches/patch-ae delete mode 100644 devel/gmp/patches/patch-af delete mode 100644 devel/gmp/patches/patch-ag delete mode 100644 devel/gmp/patches/patch-ah delete mode 100644 devel/gmp/patches/patch-ai delete mode 100644 devel/gmp/patches/patch-aj (limited to 'devel/gmp') 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 -- cgit v1.2.3