Commit Graph

165 Commits

Author SHA1 Message Date
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
christos ef96cd7f1c Handle mipsn64 2021-04-25 23:52:59 +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
mrg 4874f8c7fe updates for mpc 1.2.0. 2020-09-26 07:57:56 +00:00
mrg 90a8ff2142 initial import of mpc 1.2.0. main changes are:
New functions:
  mpc_sum
  mpc_dot

Several functions are more robust with a reduced exponent range (for
example corresponding to IEEE 754 binary formats).
2020-09-26 07:54:54 +00:00
mrg 555a5a053b updates for mpfr 4.0.1. 2020-09-26 07:50:41 +00:00
mrg 2b532294c7 empty PATCHES is needed. revert a local change that is wrong now. 2020-09-26 07:40:50 +00:00
mrg 76abf2fb07 merge mpfr 4.1.0 2020-09-26 07:29:57 +00:00
mrg 2ba2404b55 GNU mpfr 4.1.0. main changes from 4.0:
Changed __float128 to the type _Float128 specified in ISO/IEC TS 18661.
__float128 is used as a fallback if _Float128 is not supported.
New function mpfr_get_str_ndigits about conversion to a string of digits.
New function mpfr_dot for the dot product (incomplete, experimental).
New functions mpfr_get_decimal128 and mpfr_set_decimal128 (available
only when MPFR has been built with decimal float support).
New function mpfr_cmpabs_ui.
New function mpfr_total_order_p for the IEEE 754 totalOrder predicate.
The mpfr_out_str function now accepts bases from -2 to -36, in order to
follow mpfr_get_str and GMP's mpf_out_str functions (these cases gave an
assertion failure, as with other invalid bases).
Shared caches: cleanup; really detect lock failures (abort in this case).
Improved mpfr_add and mpfr_sub when all operands have a precision
equal to twice the number of bits per word, e.g., 128 bits on a 64-bit
platform.
Optimized the tuning parameters for various architectures.
2020-09-26 07:25:38 +00:00
mrg e7604a0c6a we don't have a patch version for a while now. 2020-09-26 07:01:39 +00:00
jakllsch 5aa118c344 Teach native gmp about aarch64eb 2020-09-02 15:15:30 +00:00
joerg 2fd68a1040 Ignore warnings for tautological compares for clang. 2020-05-15 14:44:05 +00:00
mrg 1eeccc863c remove obsolete comments. 2019-06-01 08:29:16 +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
mrg c85a385b03 build new libmpc and libmpfr files. define endianness as needed.
remove odd sort of duplicated SRCS list for mpfr.
2018-09-04 05:16:25 +00:00
mrg 2dd031d465 merge mpfr 4.0.1. 2018-09-04 05:05:25 +00:00
mrg 299c6f0c6b import mpfr 4.0.1. main changes since 3.1.5 are:
Changes from version 4.0.0 to version 4.0.1:
- Bug fixes (see ChangeLog file), in particular in mpfr_div_ui, which
  could yield an incorrectly rounded result to nearest when using
  different precisions; this bug had been present since the introduction
  of mpfr_div_ui, and in MPFR 4.0.0, it was affecting mpfr_div too.

Changes from versions 3.1.* to version 4.0.0:
- Partial support of MPFR_RNDF (faithful rounding).
- New functions: mpfr_fpif_export and mpfr_fpif_import to export and import
  numbers in a floating-point interchange format, independent both on the
  number of bits per word and on the endianness.
- New function mpfr_fmodquo to return the low bits of the quotient
  corresponding to mpfr_fmod.
- New functions mpfr_flags_clear, mpfr_flags_set, mpfr_flags_test,
  mpfr_flags_save and mpfr_flags_restore to operate on groups of flags.
- New functions mpfr_set_float128 and mpfr_get_float128 to convert from/to
  the __float128 type (requires --enable-float128 and compiler support).
- New functions mpfr_buildopt_float128_p and mpfr_buildopt_sharedcache_p.
- New functions mpfr_rint_roundeven and mpfr_roundeven, completing the
  other similar round-to-integer functions for rounding to nearest with
  the even-rounding rule.
- New macro mpfr_round_nearest_away to add partial emulation of the
  rounding to nearest-away (as defined in IEEE 754-2008).
- New functions mpfr_nrandom and mpfr_erandom to generate random numbers
  following normal and exponential distributions respectively.
- New functions mpfr_fmma and mpfr_fmms to compute a*b+c*d and a*b-c*d.
- New function mpfr_rootn_ui, similar to mpfr_root, but agreeing with the
  rootn function of the IEEE 754-2008 standard.
- New functions mpfr_log_ui to compute the logarithm of an integer,
  mpfr_gamma_inc for the incomplete Gamma function.
- New function mpfr_beta for the Beta function (incomplete, experimental).
- New function mpfr_get_q to convert a floating-point number into rational.
- Dropped K&R C compatibility.
- Major speedup in mpfr_add, mpfr_sub, mpfr_mul, mpfr_div and mpfr_sqrt when
  all operands have the same precision and this precision is less than twice
  the number of bits per word, e.g., less than 128 on a 64-bit computer.
- Speedup by a factor of almost 2 in the double <--> mpfr conversions
  (mpfr_set_d and mpfr_get_d).
- Speedup in mpfr_log1p and mpfr_atanh for small arguments.
- Speedup in the mpfr_const_euler function (contributed by Fredrik Johansson),
  in the computation of Bernoulli numbers (used in mpfr_gamma, mpfr_li2,
  mpfr_digamma, mpfr_lngamma and mpfr_lgamma), in mpfr_div, in mpfr_fma
  and mpfr_fms.
2018-09-04 05:02:00 +00:00
mrg 39f28e1e14 import MPC 1.1.0. from their NEWS:
Changes in version 1.1.0:
  - Minimally required library versions: GMP 5.0.0 and MPFR 3.0.0
  - Fixed issues with MPFR 4.0.0
  - New functions: mpc_cmp_abs, mpc_rootofunity
  - Improved speed for corner cases of mpc_asin, mpc_sin, see
    http://lists.gforge.inria.fr/pipermail/mpc-discuss/2013-December/001266.html
  - Rewrite of the testing framework
  - New mpcbench tool, used with "make bench"
  - Fixed handling of over- and underflows with directed rounding in the
    "other direction" for mpc_cos, mpc_sin, mpc_exp and mpc_pow, see
    http://lists.gforge.inria.fr/pipermail/mpc-discuss/2015-March/001336.html
  - Fixed a bug in mpc_atan(0,y) with |y| near 1, see
    http://lists.gforge.inria.fr/pipermail/mpc-discuss/2017-March/001404.html
2018-09-04 04:28:12 +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
mrg 99e4cd68f2 merge MPFR 3.1.5. 2017-08-17 01:12:41 +00:00
mrg efdec83b9e initial import of MPFR 3.1.5 package. changes since 3.1.2:
Changes from version 3.1.4 to version 3.1.5:
- C++11 compatibility.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.4/#fixed> and ChangeLog file).
- More tests.

Changes from version 3.1.3 to version 3.1.4:
- Improved MPFR manual.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.3/#fixed> and ChangeLog file).
- MinGW (MS Windows): Added support for thread-safe DLL (shared library).

Changes from version 3.1.2 to version 3.1.3:
- Better support for Automake 1.13+ (now used to generate the tarball).
- Improved MPFR manual.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.2/#fixed> and ChangeLog file).
2017-08-17 01:09:22 +00:00
mrg 062d2d48d3 initial import of MPC 1.0.3 package. changes since 1.0.1:
Changes in version 1.0.3:
  - Fixed mpc_pow, see
    http://lists.gforge.inria.fr/pipermail/mpc-discuss/2014-October/001315.html
  - #18257: Switched to libtool 2.4.5.

Changes in version 1.0.2:
  - Fixed mpc_atan, mpc_atanh for (+-0, +-1), see
    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57994#c7
  - Fixed mpc_log10 for purely imaginary argument, see
    http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-September/001208.html
2017-08-17 00:08:03 +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
martin 07615c3492 Apply upstream r8705: fix logic error.
Reported by Henning Petersen in PR toolchain/51283.
2016-06-27 11:35:21 +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