-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The advent of the zig build system on edge introduced a bug on `macos-aarch64` and possibly `linux-aarch64` as well. This bug presented as random loom corruption after heavy workloads such as booting from a pill or recompiling arvo several times. The root cause ended up being buggy assembly in GMP 6.2.1. We had disabled assembly altogether for `macos-aarch64` in Bazel: https://github.com/urbit/vere/blob/be3b0424f7e07c09e8dea0a63874f5e8abeae443/bazel/third_party/gmp/gmp.BUILD#L22-L23 The buggy assembly can be reproduced in isolation by downloading GMP 6.2.1 on a `macos-aarch64` machine, running `./configure --disable-share --with-pic`, and then running `make check` and looking at all the failing tests. This issue has been fixed in 6.3.0 and the random loom corruption does not happen with these changes. cc @ripperi
- Loading branch information
Showing
50 changed files
with
1,519 additions
and
257 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
|
||
/* | ||
Copyright 1996-2020 Free Software Foundation, Inc. | ||
Copyright 1996-2022 Free Software Foundation, Inc. | ||
This file is part of the GNU MP Library. | ||
|
@@ -187,6 +187,7 @@ see https://www.gnu.org/licenses/. | |
/* #undef HAVE_HOST_CPU_skylake */ | ||
/* #undef HAVE_HOST_CPU_silvermont */ | ||
/* #undef HAVE_HOST_CPU_goldmont */ | ||
/* #undef HAVE_HOST_CPU_tremont */ | ||
/* #undef HAVE_HOST_CPU_k8 */ | ||
/* #undef HAVE_HOST_CPU_k10 */ | ||
/* #undef HAVE_HOST_CPU_bulldozer */ | ||
|
@@ -201,6 +202,9 @@ see https://www.gnu.org/licenses/. | |
/* #undef HAVE_HOST_CPU_s390_z9 */ | ||
/* #undef HAVE_HOST_CPU_s390_z10 */ | ||
/* #undef HAVE_HOST_CPU_s390_z196 */ | ||
/* #undef HAVE_HOST_CPU_s390_z13 */ | ||
/* #undef HAVE_HOST_CPU_s390_z14 */ | ||
/* #undef HAVE_HOST_CPU_s390_z15 */ | ||
|
||
/* Define to 1 iff we have a s390 with 64-bit registers. */ | ||
/* #undef HAVE_HOST_CPU_s390_zarch */ | ||
|
@@ -300,7 +304,7 @@ see https://www.gnu.org/licenses/. | |
/* #undef HAVE_NATIVE_mpn_div_qr_2 */ | ||
/* #undef HAVE_NATIVE_mpn_divexact_1 */ | ||
/* #undef HAVE_NATIVE_mpn_divexact_by3c */ | ||
/* #undef HAVE_NATIVE_mpn_divrem_1 */ | ||
#define HAVE_NATIVE_mpn_divrem_1 1 | ||
/* #undef HAVE_NATIVE_mpn_divrem_1c */ | ||
/* #undef HAVE_NATIVE_mpn_divrem_2 */ | ||
/* #undef HAVE_NATIVE_mpn_gcd_1 */ | ||
|
@@ -333,7 +337,7 @@ see https://www.gnu.org/licenses/. | |
#define HAVE_NATIVE_mpn_nand_n 1 | ||
#define HAVE_NATIVE_mpn_nior_n 1 | ||
#define HAVE_NATIVE_mpn_popcount 1 | ||
/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ | ||
#define HAVE_NATIVE_mpn_preinv_divrem_1 1 | ||
/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ | ||
/* #undef HAVE_NATIVE_mpn_redc_1 */ | ||
/* #undef HAVE_NATIVE_mpn_redc_2 */ | ||
|
@@ -382,7 +386,7 @@ see https://www.gnu.org/licenses/. | |
#define HAVE_NL_TYPES_H 1 | ||
|
||
/* Define to 1 if you have the `obstack_vprintf' function. */ | ||
/* #define HAVE_OBSTACK_VPRINTF 1 */ | ||
/* #undef HAVE_OBSTACK_VPRINTF 1 */ | ||
|
||
/* Define to 1 if you have the `popen' function. */ | ||
#define HAVE_POPEN 1 | ||
|
@@ -542,13 +546,13 @@ see https://www.gnu.org/licenses/. | |
#define PACKAGE "gmp" | ||
|
||
/* Define to the address where bug reports for this package should be sent. */ | ||
#define PACKAGE_BUGREPORT "[email protected], see https://gmplib.org/manual/Reporting-Bugs.html" | ||
#define PACKAGE_BUGREPORT "[email protected] (see https://gmplib.org/manual/Reporting-Bugs.html)" | ||
|
||
/* Define to the full name of this package. */ | ||
#define PACKAGE_NAME "GNU MP" | ||
|
||
/* Define to the full name and version of this package. */ | ||
#define PACKAGE_STRING "GNU MP 6.2.1" | ||
#define PACKAGE_STRING "GNU MP 6.3.0" | ||
|
||
/* Define to the one symbol short name of this package. */ | ||
#define PACKAGE_TARNAME "gmp" | ||
|
@@ -557,7 +561,7 @@ see https://www.gnu.org/licenses/. | |
#define PACKAGE_URL "http://www.gnu.org/software/gmp/" | ||
|
||
/* Define to the version of this package. */ | ||
#define PACKAGE_VERSION "6.2.1" | ||
#define PACKAGE_VERSION "6.3.0" | ||
|
||
/* Define as the return type of signal handlers (`int' or `void'). */ | ||
#define RETSIGTYPE void | ||
|
@@ -590,7 +594,7 @@ see https://www.gnu.org/licenses/. | |
#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC | ||
|
||
/* Version number of package */ | ||
#define VERSION "6.2.1" | ||
#define VERSION "6.3.0" | ||
|
||
/* Define to 1 to enable ASSERT checking, per --enable-assert */ | ||
/* #undef WANT_ASSERT */ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* This file generated by gen-sieve.c - DO NOT EDIT. */ | ||
|
||
#if GMP_LIMB_BITS != 64 | ||
Error, error, this data is for 64 bits | ||
#endif | ||
|
||
#define PRIMESIEVE_INIT_TABLE \ | ||
CNST_LIMB (0x3294C9E069128480), /* 5 - 196 (42 primes) */ \ | ||
CNST_LIMB (0x95A35E1EC4AB21DC), /* 197 - 388 (32 primes) */ \ | ||
CNST_LIMB (0x4AD7CE99B8693366), /* 389 - 580 (30 primes) */ \ | ||
CNST_LIMB (0x6595B6DA728DC52B), /* 581 - 772 (30 primes) */ \ | ||
CNST_LIMB (0xEA6D9F8787B0CEDE), /* 773 - 964 (26 primes) */ \ | ||
CNST_LIMB (0x3F56A1F4CD3275A9), /* 965 - 1156 (29 primes) */ \ | ||
CNST_LIMB (0xFD3848FB74A76ADB), /* 1157 - 1348 (26 primes) */ \ | ||
CNST_LIMB (0xDBBA0DD1A1EDF6AF), /* 1349 - 1540 (25 primes) */ \ | ||
CNST_LIMB (0xCEC7F17ED22799A5), /* 1541 - 1732 (27 primes) */ \ | ||
CNST_LIMB (0xEAEC17BDBB717D56), /* 1733 - 1924 (24 primes) */ \ | ||
CNST_LIMB (0x3B0EB7B3585AFCF3), /* 1925 - 2116 (26 primes) */ \ | ||
CNST_LIMB (0xE563D8F69FDF6C4F), /* 2117 - 2308 (23 primes) */ \ | ||
CNST_LIMB (0xFE5BA7ABA45E92FC), /* 2309 - 2500 (25 primes) */ \ | ||
CNST_LIMB (0x158DEE6F3BF49B7D), /* 2501 - 2692 (24 primes) */ \ | ||
CNST_LIMB (0xBE5A7BC4EDE6CD1A), /* 2693 - 2884 (26 primes) */ \ | ||
CNST_LIMB (0xD7679B3FCA7BB6AD), /* 2885 - 3076 (22 primes) */ \ | ||
CNST_LIMB (0xC3F66B971FEF37E9), /* 3077 - 3268 (22 primes) */ \ | ||
CNST_LIMB (0x6F7EBCF339C953FD), /* 3269 - 3460 (22 primes) */ \ | ||
CNST_LIMB (0xD5A5ECDCD235DBF0), /* 3461 - 3652 (27 primes) */ \ | ||
CNST_LIMB (0xECFA7B2FD5B65E3B), /* 3653 - 3844 (22 primes) */ \ | ||
CNST_LIMB (0xD28EFDF9C89F67B1), /* 3845 - 4036 (25 primes) */ \ | ||
CNST_LIMB (0xCB7F7C7A3DD3AF4F), /* 4037 - 4228 (21 primes) */ \ | ||
CNST_LIMB (0xEEBED6CDFF6B32CC), /* 4229 - 4420 (22 primes) */ \ | ||
CNST_LIMB (0xD5BD73F85ECFA97C), /* 4421 - 4612 (23 primes) */ \ | ||
CNST_LIMB (0x21FDBE4FBBAD48F7), /* 4613 - 4804 (24 primes) */ \ | ||
CNST_LIMB (0x5E35A3B5EEB7FDE7), /* 4805 - 4996 (21 primes) */ \ | ||
CNST_LIMB (0xD9EBFD53A7DBBCC9), /* 4997 - 5188 (22 primes) */ \ | ||
CNST_LIMB (0xFF9EDEAF2EFE1F76), /* 5189 - 5380 (18 primes) */ | ||
#define PRIMESIEVE_NUMBEROF_TABLE 28 | ||
/* #define PRIMESIEVE_PRIMES_IN_TABLE 706 */ | ||
#define PRIMESIEVE_HIGHEST_PRIME 5351 | ||
/* #define PRIMESIEVE_FIRST_UNCHECKED 5381 */ | ||
|
||
#define SIEVE_MASK1 CNST_LIMB(0x3204C1A049120485) | ||
#define SIEVE_MASKT CNST_LIMB(0xA1204892058) | ||
#define SIEVE_2MSK1 CNST_LIMB(0x29048402110840A) | ||
#define SIEVE_2MSK2 CNST_LIMB(0x9402180C40230184) | ||
#define SIEVE_2MSKT CNST_LIMB(0x5021088402120) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -53,6 +53,11 @@ | |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Oops, something went wrong.