lighthouse/crypto
Michael Sproul 4fca306397 Update BLST, add force-adx support (#1595)
## Issue Addressed

Closes #1504
Closes https://github.com/sigp/lighthouse/issues/1505

## Proposed Changes

* Update `blst` to the latest version, which is more portable and includes finer-grained compilation controls (see below).
* Detect the case where a binary has been explicitly compiled with ADX support but it's missing at runtime, and report a nicer error than `SIGILL`.

## Known Issues

* None. The previous issue with `make build-aarch64` (https://github.com/supranational/blst/issues/27), has been resolved.

## Additional Info

I think we should tweak our release process and our Docker builds so that we provide two options:

Binaries:

* `lighthouse`: compiled with `modern`/`force-adx`, for CPUs 2013 and newer
* `lighthouse-portable`: compiled with `portable` for older CPUs

Docker images:

* `sigp/lighthouse:latest`: multi-arch image with `modern` x86_64 and vanilla aarch64 binary
* `sigp/lighthouse:latest-portable`: multi-arch image with `portable` builds for x86_64 and aarch64

And relevant Docker images for the releases (as per https://github.com/sigp/lighthouse/pull/1574#issuecomment-687766141), tagged `v0.x.y` and `v0.x.y-portable`
2020-09-22 05:40:02 +00:00
..
bls Update BLST, add force-adx support (#1595) 2020-09-22 05:40:02 +00:00
eth2_hashing Cross-compile to vendored x86_84, aarch64 (Raspberry Pi 4) (#1497) 2020-08-11 05:16:30 +00:00
eth2_key_derivation Support multiple BLS implementations (#1335) 2020-07-25 02:03:18 +00:00
eth2_keystore Allow import of Prysm keystores (#1535) 2020-08-18 06:28:20 +00:00
eth2_wallet Mnemonic key recovery (#1579) 2020-09-08 12:17:51 +00:00