Auto merge of #1581 - RalfJung:readme, r=RalfJung
README: make our cross-interpretation feature stand out more This is a great feature, let's hope more people notice it :)
This commit is contained in:
commit
8beccc4bef
1 changed files with 13 additions and 5 deletions
18
README.md
18
README.md
|
|
@ -93,11 +93,6 @@ can pass arguments to Miri via `MIRIFLAGS`. For example,
|
|||
`MIRIFLAGS="-Zmiri-disable-stacked-borrows" cargo miri run` runs the program
|
||||
without checking the aliasing of references.
|
||||
|
||||
Miri supports cross-execution: if you want to run the program as if it was a
|
||||
Linux program, you can do `cargo miri run --target x86_64-unknown-linux-gnu`.
|
||||
This is particularly useful if you are using Windows, as the Linux target is
|
||||
much better supported than Windows targets.
|
||||
|
||||
When compiling code via `cargo miri`, the `cfg(miri)` config flag is set. You
|
||||
can use this to ignore test cases that fail under Miri because they do things
|
||||
Miri does not support:
|
||||
|
|
@ -122,6 +117,19 @@ error: unsupported operation: can't call foreign function: bind
|
|||
performed an operation that the interpreter does not support
|
||||
```
|
||||
|
||||
### Cross-interpretation: running for different targets
|
||||
|
||||
Miri can not only run a binary or test suite for your host target, it can also
|
||||
perform cross-interpretation for arbitrary foreign targets: `cargo miri run
|
||||
--target x86_64-unknown-linux-gnu` will run your program as if it was a Linux
|
||||
program, no matter your host OS. This is particularly useful if you are using
|
||||
Windows, as the Linux target is much better supported than Windows targets.
|
||||
|
||||
You can also use this to test platforms with different properties than your host
|
||||
platform. For example `cargo miri test --target mips64-unknown-linux-gnuabi64`
|
||||
will run your test suite on a big-endian target, which is useful for testing
|
||||
endian-sensitive code.
|
||||
|
||||
### Running Miri on CI
|
||||
|
||||
To run Miri on CI, make sure that you handle the case where the latest nightly
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue