Go to file
mrg ce54336801 initial import of GMP 6.1.2. main changes from 5.1.3 below.
notes:
 - support for thumb-less ARM chips was in our port of 5.1.3, but a
   similar method has been provided upstream now
 - someone should look at the AVX failure reports, and fix them

Changes between GMP version 6.1.0 and 6.1.1

  FEATURES
  * Work around faulty cpuid on some recent Intel chips (this allows GMP to run
    on Skylake Pentiums).
  * Support thumb-less ARM chips.

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.
  * 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 through 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.
  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 more 32-bit arm processors.
  * 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.)
  * Support for NetBSD under Xen; we switch off AVX unconditionally under
    NetBSD since a bug in NetBSD makes AVX fail under Xen.
  MISC
  * Tuned values for FFT multiplications are provided for larger number on
    many platforms.

Changes between GMP version 5.1.* and 6.0.0
  BUGS FIXED
  * The function mpz_invert now considers any number invertible in Z/1Z.
  * The mpn multiply code now handles operands of more than 2^31 limbs
    correctly.  (Note however that the mpz code is limited to 2^32 bits on
    32-bit hosts and 2^37 bits on 64-bit hosts.)
  SPEEDUPS
  * Plain division of large operands is faster and more monotonous in operand
    size.
  * Major speedup for ARM, in particular ARM Cortex-A15, thanks to improved
    assembly.
  * Speedup for Intel Sandy Bridge, Ivy Bridge, Haswell, thanks to rewritten
    and vastly expanded assembly support.  Speedup also for the older Core 2
    and Nehalem.
  * Faster mixed arithmetic between mpq_class and double.
  FEATURES
  * Support for new Intel and AMD CPUs.
  * New public functions mpn_sec_mul and mpn_sec_sqr, implementing side-channel
    silent multiplication and squaring.
  * New public functions mpn_sec_div_qr and mpn_sec_div_r, implementing
    side-channel silent division.
  * New public functions mpn_cnd_add_n and mpn_cnd_sub_n.  Side-channel silent
    conditional addition and subtraction.
  * New public function mpn_sec_powm, implementing side-channel silent modexp.
  * New public function mpn_sec_invert, implementing side-channel silent
    modular inversion.
  * Better support for applications which use the mpz_t type, but nevertheless
    need to call some of the lower-level mpn functions.  See the documentation
    for mpz_limbs_read and related functions.
2017-08-22 09:40:46 +00:00
bin Add support for $'...' quoting (based upon C "..." strings, with \ expansions.) 2017-08-21 13:20:49 +00:00
common aarch64/strlen.S didn't work. fixed some bugs. 2017-08-22 06:45:07 +00:00
compat Don't mix abis in any CRUNCHEDPROG 2017-01-05 21:28:42 +00:00
crypto PR/51682: Antoine Beaupré: Simplify and comment previous patch. 2017-07-23 05:40:27 +00:00
dist/pf PR 50709 David Binderman: memory leak 2016-05-30 17:21:07 +00:00
distrib Create the ramdisk destination dir here. 2017-08-20 15:38:22 +00:00
doc Add previous statement from core@ and add reference to earlier E-mail 2017-08-21 10:38:19 +00:00
etc Creating installation/ramdisk here does not work; it happens too late. 2017-08-20 15:35:31 +00:00
external initial import of GMP 6.1.2. main changes from 5.1.3 below. 2017-08-22 09:40:46 +00:00
extsrc
games typo 2017-07-02 07:02:47 +00:00
include Add missing strfmon_l. Noticed by Bruno Haible. Add test case. 2017-08-16 13:53:19 +00:00
lib don't build gmp/mpfr/mpc if we're not building GCC commands (MKGCCCMDS==no.) 2017-08-22 08:21:36 +00:00
libexec Add sparc/sparc64 support for irelative relocations. 2017-08-12 09:03:27 +00:00
regress Remove the vm86 tests. 2017-08-12 07:40:43 +00:00
rescue Remove MKCRYPTO option. 2017-05-21 15:28:36 +00:00
sbin Use NULL instead of 0 for null pointer. 2017-08-07 22:08:12 +00:00
share Improve translation of TFW to use "proper english" - sorry, Urban 2017-08-22 02:36:48 +00:00
sys Apply only CCR. Otherwise userland could set PSTATE_PRIV in %pstate and get 2017-08-22 09:12:49 +00:00
tests don't skip nexttoward for aarch64 and mips64 2017-08-21 17:11:18 +00:00
tools move the GMP_MACHINE_ARCH definition into external/lgpl3/gmp/Makefile.arch. 2017-08-22 09:17:50 +00:00
usr.bin also add tzdata versioning information 2017-08-21 19:51:32 +00:00
usr.sbin don't lock for RUMP 2017-08-21 17:01:04 +00:00
build.sh - Allow all other targets (like kernel=) to obey mkrepro (-P) 2017-04-08 18:22:35 +00:00
BUILDING regen 2017-05-21 15:30:20 +00:00
Makefile don't descend into gnu 2017-04-11 14:04:15 +00:00
Makefile.inc
UPDATING add a note about MPC/MPFR updates breaking some types of update builds. 2017-08-17 01:16:55 +00:00