Store nightly snapshot in rust-toolchain file, and use it in cargo.sh

The rust-toolchain file can also store an exact nightly snapshot
(instead of just "nightly"), so we can store whatever snapshot that
rustc_codegen_cranelift is known to work with.

This also lets us add a new feature to `cargo.sh` to let it use the
exact same nightly snapshot as cg_clif.  If there's a nightly compiler
mismatch, you get a confusing error message like:

    error: couldn't load codegen backend "librustc_codegen_cranelift.so":
    "librustc_driver-681e2b4f66c73d3e.so: cannot open
    shared object file: No such file or directory"

So doing this automatically in cargo.sh is useful.
This commit is contained in:
Andrew Chin 2020-01-15 12:05:18 -05:00
parent e798f98bb4
commit a288a5ea06
2 changed files with 6 additions and 2 deletions

View File

@ -6,9 +6,13 @@ fi
pushd $(dirname "$0") >/dev/null
source config.sh
# read nightly compiler from rust-toolchain file
TOOLCHAIN=$(cat rust-toolchain)
popd >/dev/null
cmd=$1
shift
cargo $cmd --target $TARGET_TRIPLE $@
cargo +${TOOLCHAIN} $cmd --target $TARGET_TRIPLE $@

View File

@ -1 +1 @@
nightly
nightly-2020-01-13