Commit Graph

146 Commits

Author SHA1 Message Date
christos 5f34f68b67 fix lint build on vax 2022-05-31 17:52:35 +00:00
rillig 7e48373d7e libgmp: remove trailing whitespace 2021-12-07 19:14:05 +00:00
rillig 99b4d3b95b libgmp: suppress lint warnings about int/size_t mismatch
The cases where numbers have 4 GB of precision are probably rare.
2021-12-07 19:12:54 +00:00
rillig fd5ea1b146 libgmp: clean up LINTFLAGS
Now that gmp-impl.h includes <stdlib.h>, defining alloca is no longer
necessary.
2021-12-07 19:04:27 +00:00
christos 2fcb78072a fix alloca for NetBSD lint 2021-12-07 02:22:37 +00:00
rillig 1eff204dfe libgmp: fix unwarranted ignored error on 'make clean'
rmdir: dummy: No such file or directory
*** Error code 1 (ignored)
2021-12-06 23:07:49 +00:00
rillig 51f592ae95 libgmp: suppress a few lint warnings
Instead of erroring out due to the unknown function alloca, lint now
warns about a pointer/integer mismatch since it wrongly assumes that all
__builtin functions return int. The warning is still better than a
failing build though.
2021-12-06 23:05:36 +00:00
mrg 4e23f5f9be gmp: pullover fixes for https://nvd.nist.gov/vuln/detail/CVE-2021-43618
changeset 18135:561a9c25298e

mpz/inp_raw.c: Avoid bit size overflows
author 	Marco Bodrato <bodrato@mail.dm.unipi.it>


XXX: pullup-8, pullup-9
2021-11-29 03:57:22 +00:00
christos a043955316 Patch the build script and toolchain to allow passing through
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist.  In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
2021-09-18 01:47:07 +00:00
mrg 119a1bddf6 mknative-gmp for mipsn64* and GMP 6.2.1. 2021-07-12 18:42:39 +00:00
mrg 06cfffb4b6 add mipsn64 support, so native-gmp works, and likely, build.sh tools
on a mipsn64 host.
2021-07-12 18:42:23 +00:00
mrg a1763d54a8 mknative-gmp for GMP 6.2.1 and most platforms. 2021-07-12 09:34:54 +00:00
mrg 6a02a25550 regen for GMP 6.2.1 and i386 and arm64. update docs so i don't forget
that i mostly got 'native-gmp' working last year.
2021-07-12 07:59:51 +00:00
mrg effeba7a85 regen gmp parts for amd64 and gmp 6.2.1. 2021-07-12 07:04:37 +00:00
mrg a273202eee merge GMP 6.2.1. 2021-07-11 21:15:45 +00:00
mrg 1daf83e636 initial import of GMP 6.2.1. from their NEWS:
Changes between GMP version 6.2.0 and 6.2.1

  BUGS FIXED
  * A possible overflow of type int is avoided for mpz_cmp on huge operands.
  * Overflows are more carefully detected and reported for mpz_pow_ui.
  * A bug in longlong.h for aarch64 sub_ddmmss, not affecting GMP, was healed.

  FEATURES
  * C90 compliance.
  * Initial support for Darwin on arm64, and improved portability.
  * Support for more processors.
2021-07-11 21:14:44 +00:00
christos 885f4c70a1 Copied from mips64el 2021-04-25 23:58:23 +00:00
christos 6b942a58a1 copied from mips64eb 2021-04-25 23:57:47 +00:00
rin a8c74629f6 Support aarch64eb in */config.guess.
Cherry-picked from upstream:
https://git.savannah.gnu.org/gitweb/?p=config.git;a=commit;h=1c4398015583eb77bc043234f5734be055e64bea

Everything except external/apache2/llvm/dist/llvm/cmake/config.guess
is patched, which is under vendor tag and cannot be modified. I expect
that this file is not actually used as we use hand-crafted version of
configure script instead of cmake for building LLVM.

Note that external/apache2/llvm/autoconf/autoconf/config.guess has
already been committed on Oct. 20, but commit message disappeared as
cvs aborted due to "permission denied" when trying to modify the file
mentioned above. Sorry for confusing you.

Also note that GMP uses its own config.guess Patch for
external/lgpl3/gmp/dist/config.guess is provided by ryo@. Thanks!
2020-11-17 10:35:10 +00:00
macallan fc217a59c2 recognize some more G4 model names produced by config.guess
now native tools builds on ppc7447 and ppc7455 work again
2020-10-31 21:48:06 +00:00
mrg 63c24fdcdf re-run native-gmp for gmp 6.2.0 and arm: run with a v4 toolchain
instead of a v7 toolchain, so it works on all.

should fix latest build mess.

future: test the speed of this vs armv[567] specific on armv[567].
2020-09-27 21:19:36 +00:00
mrg bc89ad3318 mknative-gmp output for GMP 6.2.0. 2020-09-27 00:31:51 +00:00
mrg 41f3ac3e09 merge gmp 6.2.0. 2020-09-27 00:30:26 +00:00
mrg 72c7faa4db initial import of GMP 6.2.0. changes include:
- Bug fixes to gmp_snprintf, conversion to double, mpz_powm,
  and mpf_set_str.
- New functions for factorial, primorial, fibonacci, mpz_2fac_ui,
  and mpz_mfac_uiui.
- MIPS r6 cores are now supported.
- Various speeds ups.
2020-09-27 00:27:02 +00:00
mrg 3169bf0d27 update slightly to enable 'native-gmp' target from tools/gmp to work.
call the awk script on 'config.log', which has (almost) the same output
as the stdout of ./configure, and automatically store it as 'srcs.mk'.
2020-09-26 20:58:48 +00:00
jakllsch 5aa118c344 Teach native gmp about aarch64eb 2020-09-02 15:15:30 +00:00
mrg d1429afe98 fake mknative, mostly enough to build real for mknative. 2019-04-17 08:56:10 +00:00
maya fc3e881944 Fake mknative 2019-04-15 14:02:23 +00:00
mrg ca946efc7f add missing sources needed by new mpfr/mpc. 2018-09-04 06:09:31 +00:00
christos 53fdac48b7 aarch64 files for gmp 2018-07-14 23:49:20 +00:00
mrg 7af9bd6f50 commit some note updates i wrote last august. 2018-06-01 21:46:18 +00:00
nonaka b593b49cd1 external/lgpl3/gmp build fail in configure phase with "ln -s J /etc/malloc.conf".
patch from pkgsrc/devel/gmp
  http://mail-index.netbsd.org/pkgsrc-changes/2017/06/15/msg158404.html
2017-10-19 03:26:28 +00:00
mrg 1367fc1e03 updates for GMP 6.1.2 and most platforms. run tested on i386, amd64,
sparc sparc64, earm, ofppc and mips64eb.  build tested on most.

remove the earm* variants as they're now the same as the arm* ones.
2017-08-22 09:59:37 +00:00
mrg b4739963a8 update these for GMP 6.1.2, and start to make it more automatic. 2017-08-22 09:57:18 +00:00
mrg d7b1414aad merge GMP 6.1.2. 2017-08-22 09:55:44 +00:00
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
mrg 26c43e3543 move the GMP_MACHINE_ARCH definition into external/lgpl3/gmp/Makefile.arch.
soon to be GMP 6 allows us to have only two arm copies.
2017-08-22 09:17:50 +00:00
mrg b108635e41 remove unused file 2017-08-22 08:26:42 +00:00
mrg d811d78ead mp.h was removed a while ago. update the README to note this, and
remove the note about trialdivtab.h which was done.
2017-08-17 23:00:38 +00:00
mrg 9e521bb10f remove file that died 4 years ago... 2017-08-17 02:17:00 +00:00
sevan cc576e1d8e Update supporting files for components which rely on autoconf to allow systems
introducing since release of software to be recognised. This should hopefully
allow the builds to progress a littles further on systems such as the POWER8
which features a little endian 64-bit PowerPC CPU identified as ppc64le.
2017-02-01 09:26:39 +00:00
christos 7e68b5ef19 Add -DPIC for PIE builds so that we can avoid text relocations. 2016-04-12 19:38:41 +00:00
matt 6b3c8b5ddd RISC-V configury. 2014-09-19 17:23:57 +00:00
matt cbbb2b6894 OR1K configury for NetBSD 2014-09-03 19:11:24 +00:00
kiyohara 6354014157 Revert previous commit. Requested by matt@. 2014-06-24 12:54:56 +00:00
matt 866279dbba Teach configfsf.guess about coldfire and earm 2014-06-23 17:18:43 +00:00
kiyohara 3c3e9119fb Support earm*-*-*. 2014-06-23 12:48:42 +00:00
macallan c999b0e1d9 on mips64* use generic C functions instead of assembly routines when building
n32 binaries. Should work around PR48696
ok mrg@
2014-05-13 18:46:48 +00:00
joerg 9aad7ddd6d Use C version of umul_ppmm for Clang on MIPS. 2014-03-25 15:28:15 +00:00
riastradh 6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00