Update gmp to 6.1.0: Changes between GMP version 6.0.* and 6.1.0 BUGS FIXED * The public function mpn_com is now correctly declared in gmp.h. * Healed possible failures of mpn_sec_sqr for non-cryptographic sizes for some obsolete CPUs. * The option --disable-assembly now disables all inlined asm. * Fixed bug affecting mini-gmp's bitwise functions mpz_setbit, mpz_clrbit, and mpz_combit. * Various problems related to precision for mpf have been fixed. * Fixed ABI incompatible stack alignment in calls from assembly code. * Fixed PIC bug in popcount affecting Intel processors using the 32-bit ABI. SPEEDUPS * Speedup for Intel Broadwell and Skylake though assembly code making use of new ADX instructions. * Square root is now faster when the remainder is not needed. Also the speed to compute the k-th root improved, for small sizes. * Improved arm64 support. FEATURES * New C++ functions gcd and lcm for mpz_class. * New public mpn functions mpn_divexact_1, mpn_zero_p, and mpn_cnd_swap. * New public mpq_cmp_z function, to efficiently compare rationals with integers. * Support for Darwin in all x86 code, thereby enabling fat builds on Darwin. * Support for more 32-bit arm processors. * Support for compilation with clang/llvm on more platforms. Caution: GMP triggers mis-compilation bugs in clang for many platforms, such as arm, x86 (32-bit and 64-bit), powerpc, mips. * Support for AVX-less modern x86 CPUs. (Such support might be missing either because the CPU vendor chose to disable AVX, or because the running kernel lacks AVX context switch support.) * Stack usage trimmed; we believe 512 KiB is now sufficient for any GMP call, irrespective of operand size. * Support for NetBSD under Xen; we switch off AVX unconditionally under NetBSD since a bug in NetBSD makes AVX fail under Xen. MISC * We now use manufacturers' code names for x86 CPUs, e.g., "haswell" instead of names derived from the commercial brands. * Small improvements and better coverage for the test suite. * The various FreeBSD problems listed for 6.0.0 affect this release too. * Tuned values for FFT multiplications are provided for larger number on many platforms.diff -r1.77 -r1.78 pkgsrc/devel/gmp/Makefile
(wiz)
@@ -1,16 +1,16 @@ | @@ -1,16 +1,16 @@ | |||
1 | # $NetBSD: Makefile,v 1.77 2015/03/30 18:48:08 gdt Exp $ | 1 | # $NetBSD: Makefile,v 1.78 2015/11/13 11:36:44 wiz Exp $ | |
2 | 2 | |||
3 | DISTNAME= gmp-6.0.0a | 3 | DISTNAME= gmp-6.1.0 | |
4 | CATEGORIES= devel math | 4 | CATEGORIES= devel math | |
5 | MASTER_SITES= https://gmplib.org/download/gmp/ \ | 5 | MASTER_SITES= https://gmplib.org/download/gmp/ \ | |
6 | ${MASTER_SITE_GNU:=gmp/} | 6 | ${MASTER_SITE_GNU:=gmp/} | |
7 | # Use .tar.bz2 distfile so that no extra dependency on archivers/xz | 7 | # Use .tar.bz2 distfile so that no extra dependency on archivers/xz | |
8 | # is needed when building lang/gcc* with option gcc-inplace-math. | 8 | # is needed when building lang/gcc* with option gcc-inplace-math. | |
9 | EXTRACT_SUFX= .tar.bz2 | 9 | EXTRACT_SUFX= .tar.bz2 | |
10 | 10 | |||
11 | MAINTAINER= pkgsrc-users@NetBSD.org | 11 | MAINTAINER= pkgsrc-users@NetBSD.org | |
12 | HOMEPAGE= http://gmplib.org/ | 12 | HOMEPAGE= http://gmplib.org/ | |
13 | COMMENT= Library for arbitrary precision arithmetic | 13 | COMMENT= Library for arbitrary precision arithmetic | |
14 | LICENSE= gnu-lgpl-v3 OR gnu-gpl-v2 | 14 | LICENSE= gnu-lgpl-v3 OR gnu-gpl-v2 | |
15 | 15 | |||
16 | INFO_FILES= yes | 16 | INFO_FILES= yes |
@@ -1,27 +1,26 @@ | @@ -1,27 +1,26 @@ | |||
1 | $NetBSD: distinfo,v 1.49 2015/11/13 10:42:23 wiz Exp $ | 1 | $NetBSD: distinfo,v 1.50 2015/11/13 11:36:44 wiz Exp $ | |
2 | 2 | |||
3 | SHA1 (gmp-6.0.0a.tar.bz2) = 360802e3541a3da08ab4b55268c80f799939fddc | 3 | SHA1 (gmp-6.1.0.tar.bz2) = db38c7b67f8eea9f2e5b8a48d219165b2fdab11f | |
4 | RMD160 (gmp-6.0.0a.tar.bz2) = 2322e21e2042c974dcfaca2da18ae22d43a23ec4 | 4 | RMD160 (gmp-6.1.0.tar.bz2) = 3bf2ad8471944f899bffcb86aed0e2072416a464 | |
5 | SHA512 (gmp-6.0.0a.tar.bz2) = 04c8fde7f6e9c2e42753cebf6345d74ef6bdae5ef764df303b6615d17c8d851ac2876ca32c6ba5e111a8d07575c8b725c7b90518a6616be27a7b46d6aeb82c1a | 5 | SHA512 (gmp-6.1.0.tar.bz2) = 3c82aeab9c1596d4da8afac2eec38e429e84f3211e1a572cf8fd2b546493c44c039b922a1133eaaa48bd7f3e11dbe795a384e21ed95cbe3ecc58d7ac02246117 | |
6 | Size (gmp-6.0.0a.tar.bz2) = 2319400 bytes | 6 | Size (gmp-6.1.0.tar.bz2) = 2383840 bytes | |
7 | SHA1 (patch-aa) = dec275cbd5886a70f7cf0def1dedf01e7e4a49e9 | 7 | SHA1 (patch-aa) = dec275cbd5886a70f7cf0def1dedf01e7e4a49e9 | |
8 | SHA1 (patch-ab) = 829812822a72a4926ea4cf6e8ffafdcd13a0f76c | 8 | SHA1 (patch-ab) = 829812822a72a4926ea4cf6e8ffafdcd13a0f76c | |
9 | SHA1 (patch-ac) = 6f7de0a285bec2c2645479d3090dc0276580f3d8 | 9 | SHA1 (patch-ac) = 6f7de0a285bec2c2645479d3090dc0276580f3d8 | |
10 | SHA1 (patch-mpn_arm_aorslsh1__n.asm) = 2c12b798eba26a3c4429792e1a88f91638261255 | 10 | SHA1 (patch-mpn_arm_aorslsh1__n.asm) = 2c12b798eba26a3c4429792e1a88f91638261255 | |
11 | SHA1 (patch-mpn_arm_bdiv__dbm1c.asm) = 8fcc50684c6baae02abeadb56feeb2340fc39731 | 11 | SHA1 (patch-mpn_arm_bdiv__dbm1c.asm) = 8fcc50684c6baae02abeadb56feeb2340fc39731 | |
12 | SHA1 (patch-mpn_arm_cnd__aors__n.asm) = 3d15898f923524122c09f63773bd9a35820a6016 | 12 | SHA1 (patch-mpn_arm_cnd__aors__n.asm) = 3d15898f923524122c09f63773bd9a35820a6016 | |
13 | SHA1 (patch-mpn_arm_com.asm) = fb6dde3cecb4d082a63b8f7cc5e2c2aa877da27c | 13 | SHA1 (patch-mpn_arm_com.asm) = fb6dde3cecb4d082a63b8f7cc5e2c2aa877da27c | |
14 | SHA1 (patch-mpn_arm_copyd.asm) = 93f4e677b8cf4b85ff2dd21db7fca475930d623f | 14 | SHA1 (patch-mpn_arm_copyd.asm) = 93f4e677b8cf4b85ff2dd21db7fca475930d623f | |
15 | SHA1 (patch-mpn_arm_copyi.asm) = 6d385726860fcb88d516dca3faa95edeb82fb79d | 15 | SHA1 (patch-mpn_arm_copyi.asm) = 6d385726860fcb88d516dca3faa95edeb82fb79d | |
16 | SHA1 (patch-mpn_arm_dive__1.asm) = cb3425948ba7e69eb4bdb9b150a83881a6011aa3 | 16 | SHA1 (patch-mpn_arm_dive__1.asm) = 64796557cb67e83b1a9dc8edd97d46ea32b5371f | |
17 | SHA1 (patch-mpn_arm_invert__limb.asm) = f8eb28f094864b02ebd709745a19b496b63ca437 | 17 | SHA1 (patch-mpn_arm_invert__limb.asm) = 1314230d1883679ec6fed3362065e0604a105b55 | |
18 | SHA1 (patch-mpn_arm_logops__n.asm) = fbd73182a6f53b452cf385494080579e3ab17d81 | 18 | SHA1 (patch-mpn_arm_logops__n.asm) = fbd73182a6f53b452cf385494080579e3ab17d81 | |
19 | SHA1 (patch-mpn_arm_lshift.asm) = d076210156c4dbcbe3b46803c0aaf966954a3058 | 19 | SHA1 (patch-mpn_arm_lshift.asm) = d076210156c4dbcbe3b46803c0aaf966954a3058 | |
20 | SHA1 (patch-mpn_arm_lshiftc.asm) = 95692c226ff057294d2aa9cf409559b605f444e4 | 20 | SHA1 (patch-mpn_arm_lshiftc.asm) = 95692c226ff057294d2aa9cf409559b605f444e4 | |
21 | SHA1 (patch-mpn_arm_mod__34lsub1.asm) = 30a31a9d999097568cc8bc83a9565ee2f30657e0 | 21 | SHA1 (patch-mpn_arm_mod__34lsub1.asm) = 30a31a9d999097568cc8bc83a9565ee2f30657e0 | |
22 | SHA1 (patch-mpn_arm_mode1o.asm) = 9fb7a224489ea56b433ab5e869c9402138210a30 | 22 | SHA1 (patch-mpn_arm_mode1o.asm) = 9fb7a224489ea56b433ab5e869c9402138210a30 | |
23 | SHA1 (patch-mpn_arm_rsh1aors__n.asm) = 2c20729fdccd16f8418e0cf4e9b583848dd00b18 | 23 | SHA1 (patch-mpn_arm_rsh1aors__n.asm) = 2c20729fdccd16f8418e0cf4e9b583848dd00b18 | |
24 | SHA1 (patch-mpn_arm_rshift.asm) = fdc9b43d50a7c621b201098a01c440277c1ae43a | 24 | SHA1 (patch-mpn_arm_rshift.asm) = fdc9b43d50a7c621b201098a01c440277c1ae43a | |
25 | SHA1 (patch-mpn_arm_sec__tabselect.asm) = 9f317285b87262d98e557bb7c4c9df21d51fa655 | 25 | SHA1 (patch-mpn_arm_sec__tabselect.asm) = 9f317285b87262d98e557bb7c4c9df21d51fa655 | |
26 | SHA1 (patch-mpn_arm_udiv.asm) = 4f0cc8d7f578c41c11a73c7abb91ab955ec30019 | 26 | SHA1 (patch-mpn_arm_udiv.asm) = 4f0cc8d7f578c41c11a73c7abb91ab955ec30019 | |
27 | SHA1 (patch-mpn_x86__64_k8_redc_1.asm) = 896a8fcfe9f7370f5628403b93e10a5f52e38944 |
@@ -1,28 +1,28 @@ | @@ -1,28 +1,28 @@ | |||
1 | $NetBSD: patch-mpn_arm_dive__1.asm,v 1.1 2015/11/13 10:42:23 wiz Exp $ | 1 | $NetBSD: patch-mpn_arm_dive__1.asm,v 1.2 2015/11/13 11:36:44 wiz Exp $ | |
2 | 2 | |||
3 | --- mpn/arm/dive_1.asm.orig 2014-03-25 14:37:55.000000000 +0000 | 3 | --- mpn/arm/dive_1.asm.orig 2015-11-01 15:19:49.000000000 +0000 | |
4 | +++ mpn/arm/dive_1.asm | 4 | +++ mpn/arm/dive_1.asm | |
5 | @@ -112,7 +112,10 @@ L(end): sbc cy, r5, cy | 5 | @@ -112,7 +112,10 @@ L(end): sbc cy, r5, cy | |
6 | mul r9, r4, cy | 6 | mul r9, r4, cy | |
7 | str r9, [rp] | 7 | str r9, [rp] | |
8 | pop {r4-r9} | 8 | pop {r4-r9} | |
9 | - bx r14 | 9 | - bx r14 | |
10 | +ifdef(`ARM_THUMB_MODE', | 10 | +ifdef(`ARM_THUMB_MODE', | |
11 | +` bx r14 | 11 | +` bx r14 | |
12 | +',` mov pc, r14 | 12 | +',` mov pc, r14 | |
13 | +') | 13 | +') | |
14 | 14 | |||
15 | L(unnorm): | 15 | L(unnorm): | |
16 | rsb tnc, cnt, #32 | 16 | rsb tnc, cnt, #32 | |
17 | @@ -136,7 +139,10 @@ L(edu): sbc cy, r5, cy | 17 | @@ -136,7 +139,10 @@ L(edu): sbc cy, r5, cy | |
18 | mul r9, r4, cy | 18 | mul r9, r4, cy | |
19 | str r9, [rp] | 19 | str r9, [rp] | |
20 | pop {r4-r9} | 20 | pop {r4-r9} | |
21 | - bx r14 | 21 | - bx r14 | |
22 | +ifdef(`ARM_THUMB_MODE', | 22 | +ifdef(`ARM_THUMB_MODE', | |
23 | +` bx r14 | 23 | +` bx r14 | |
24 | +',` mov pc, r14 | 24 | +',` mov pc, r14 | |
25 | +') | 25 | +') | |
26 | EPILOGUE() | 26 | EPILOGUE() | |
27 | 27 | |||
28 | .section .rodata | 28 | RODATA |
@@ -1,16 +1,16 @@ | @@ -1,16 +1,16 @@ | |||
1 | $NetBSD: patch-mpn_arm_invert__limb.asm,v 1.5 2015/11/13 10:42:23 wiz Exp $ | 1 | $NetBSD: patch-mpn_arm_invert__limb.asm,v 1.6 2015/11/13 11:36:44 wiz Exp $ | |
2 | 2 | |||
3 | --- mpn/arm/invert_limb.asm.orig 2014-03-25 14:37:55.000000000 +0000 | 3 | --- mpn/arm/invert_limb.asm.orig 2015-11-01 15:19:49.000000000 +0000 | |
4 | +++ mpn/arm/invert_limb.asm | 4 | +++ mpn/arm/invert_limb.asm | |
5 | @@ -52,7 +52,10 @@ PROLOGUE(mpn_invert_limb) | 5 | @@ -52,7 +52,10 @@ PROLOGUE(mpn_invert_limb) | |
6 | adds r1, r12, r0 | 6 | adds r1, r12, r0 | |
7 | adc r3, r3, r0 | 7 | adc r3, r3, r0 | |
8 | rsb r0, r3, r2 | 8 | rsb r0, r3, r2 | |
9 | - bx lr | 9 | - bx lr | |
10 | +ifdef(`ARM_THUMB_MODE', | 10 | +ifdef(`ARM_THUMB_MODE', | |
11 | +` bx lr | 11 | +` bx lr | |
12 | +',` mov pc, lr | 12 | +',` mov pc, lr | |
13 | +') | 13 | +') | |
14 | EPILOGUE() | 14 | EPILOGUE() | |
15 | 15 | |||
16 | .section .rodata | 16 | RODATA |