remove FFI support for macOS
We're only testing this on Linux, and `@thomcc` reports that libffi on macOS is a pain, so let's just disable this for now.
Expand VisitMachineValues to cover more pointers in the interpreter
Follow-on to https://github.com/rust-lang/miri/pull/2559
This is making me want to write a proc macro 🤔
r? `@RalfJung`
Add flag to specify the number of cpus
Apparently you can't rename a branch from github's website without it closing all your PRs with that branch. So this is just #2545
Don't back up past the caller when looking for an FnEntry span
Fixes https://github.com/rust-lang/miri/issues/2536
This adds a fix for the logic as well as a regression test. In the new test `tests/fail/stacked_borrows/fnentry_invalidation2.rs`, before this PR, we display this diagnostic:
```
help: <3278> was later invalidated at offsets [0x0..0xc] by a Unique FnEntry retag
--> tests/fail/stacked_borrows/fnentry_invalidation2.rs:13:5
|
13 | inner(&mut t);
| ^^^^^^^^^^^^^
```
Which is very misleading. It is not this call itself, but what happens within the call that invalidates the tag we want. With this PR, we get:
```
help: <2798> was later invalidated at offsets [0x0..0xc] by a Unique FnEntry retag inside this call
--> tests/fail/stacked_borrows/fnentry_invalidation2.rs:20:13
|
20 | let _ = t.sli.as_mut_ptr();
| ^^^^^^^^^^^^^^^^^^
```
Which is much better.
GC: factor out visiting all machine values
`@saethlin` that is roughly what I had in mind.
I think some parts of the state are skipped by the visitor. I listed the ones that I found in FIXMEs but I am not sure if that list is complete.
readme: tag-gc tweaks
r? `@saethlin`
Is this option truly needed often enough that it should be in the 'common' section? If not I vote for moving it to the 2nd section. Also `10,000` is a confusing way to write numbers in an international context (in many languages, `,` in a number plays the role of the point in English number notation, so using a space or underscore is less likely to lead to confusion).
Allow full relro on powerpc64-unknown-linux-gnu
This was previously limited to partial relro, citing issues on RHEL6,
but that's no longer a supported platform since #95026. We have long
been enabling full relro in RHEL7's own Rust builds for ppc64, without
trouble, so it should be fine to drop this workaround.
rustdoc: remove unnecessary `max-width` on headers
This code was added in 003b2bc1c6 to prevent these headers from overlapping `.out-of-band` side items. That stopped being a problem when 3f92ff34b5 switched rustdoc over to using `float`, rather than `position: absolute`, to implement this.
Distribute rust-docs-json via rustup.
I am not 100% sure on how to treat `rust-json-docs` in `target_host_combination`. I went along with a similar strategy to the one used for `rust-docs`, but looking for guidance there.