]> git.lizzy.rs Git - rust.git/blobdiff - README.md
Rustup to rustc 1.27.0-nightly (ff2ac35db 2018-05-12)
[rust.git] / README.md
index 3822e9ac10cc4808b3f1d09405b0a24336224904..7660735a7cefa01289cfb30754b9149b561ea152 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Miri [[slides](https://solson.me/miri-slides.pdf)] [[report](https://solson.me/miri-report.pdf)] [![Build Status](https://travis-ci.org/solson/miri.svg?branch=master)](https://travis-ci.org/solson/miri)
+# Miri [[slides](https://solson.me/miri-slides.pdf)] [[report](https://solson.me/miri-report.pdf)] [![Build Status](https://travis-ci.org/solson/miri.svg?branch=master)](https://travis-ci.org/solson/miri) [![Windows build status](https://ci.appveyor.com/api/projects/status/github/solson/miri?svg=true)](https://ci.appveyor.com/project/solson63299/miri)
 
 
 An experimental interpreter for [Rust][rust]'s [mid-level intermediate
@@ -16,7 +16,7 @@ rustup update nightly
 
 You should also make `nightly` the default version for your Miri directory by
 running the following command while you're in it. If you don't do this, you can
-run the later `cargo` commands by prefixing them with `rustup run nightly`.
+run the later `cargo` commands by using `cargo +nightly` instead.
 
 ```sh
 rustup override add nightly
@@ -37,7 +37,7 @@ how to fix it, you could send a PR. :smile:
 ## Running tests
 
 ```sh
-cargo run tests/run-pass/vecs.rs # Or whatever test you like.
+cargo run --bin miri tests/run-pass-fullmir/vecs.rs # Or whatever test you like.
 ```
 
 ## Debugging
@@ -54,6 +54,28 @@ Then, inside your own project, use `cargo +nightly miri` to run your project, if
 a bin project, or run `cargo +nightly miri test` to run all tests in your project
 through miri.
 
+## Running miri with full libstd
+
+Per default libstd does not contain the MIR of non-polymorphic functions.  When
+miri hits a call to such a function, execution terminates.  To fix this, it is
+possible to compile libstd with full MIR:
+
+```sh
+rustup component add rust-src
+cargo install xargo
+cd xargo/
+RUSTFLAGS='-Zalways-encode-mir' xargo build
+```
+
+Now you can run miri against the libstd compiled by xargo:
+
+```sh
+MIRI_SYSROOT=~/.xargo/HOST cargo run --bin miri tests/run-pass-fullmir/vecs.rs
+```
+
+Notice that you will have to re-run the last step of the preparations above when
+your toolchain changes (e.g., when you update the nightly).
+
 ## Contributing and getting help
 
 Check out the issues on this GitHub repository for some ideas. There's lots that