From 68d7e4ebb045ecd1d4ff14847d0c2cd577b0bf60 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Fri, 9 Aug 2019 11:29:10 +0200 Subject: [PATCH] local rustc builds now also need a sysroot built With the test-miri flag gone, the libstd of local builds isn't good enough for Miri any more. --- miri | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/miri b/miri index 15bfeed4da06..1f46f04c13e8 100755 --- a/miri +++ b/miri @@ -60,27 +60,19 @@ build_sysroot() { # Prepare and set MIRI_SYSROOT. Respects `MIRI_TEST_TARGET` and takes into account # locally built vs. distributed rustc. find_sysroot() { - # Get ourselves a sysroot if [ -n "$MIRI_SYSROOT" ]; then # Sysroot already set, use that. - true - elif echo "$SYSROOT" | egrep -q 'build/[^/]+/stage'; then - # A local rustc build. - if [ -n "$MIRI_TEST_TARGET" ]; then - # Foreign targets still need a build. Use the rustc sources. - export XARGO_RUST_SRC="$SYSROOT/../../../src" - build_sysroot --target "$MIRI_TEST_TARGET" - else - # Assume we have a proper host libstd in $SYSROOT. - MIRI_SYSROOT="$SYSROOT" - fi + return 0 + fi + # We need to build a sysroot. + if echo "$SYSROOT" | egrep -q 'build/[^/]+/stage'; then + # A local rustc build. Use its source dir. + export XARGO_RUST_SRC="$SYSROOT/../../../src" + fi + if [ -n "$MIRI_TEST_TARGET" ]; then + build_sysroot --target "$MIRI_TEST_TARGET" else - # A normal toolchain. We have to build a sysroot either way. - if [ -n "$MIRI_TEST_TARGET" ]; then - build_sysroot --target "$MIRI_TEST_TARGET" - else - build_sysroot - fi + build_sysroot fi export MIRI_SYSROOT }