Open RalfJung opened 3 months ago
Turns out cargo will use argfiles "on demand": if spawning the process fails because the argument list was too long, it falls back to an argfile. So that could lead to some very strange failures modes for Miri where when the number of dependencies exceeds some limit, suddenly cargo miri
stops working on Windows...
cargo-miri and the Miri driver do a bunch of processing with the arguments passed to rustc -- that's terrible but currently not really avoidable. However we are entirely ignoring the existence of argument files, which already caused https://github.com/rust-lang/miri/issues/3404 and could cause further issues in the future. So we should fix that.
--extern
or filtering out certain flags), I'm not sure what to do -- either we just say argument files are not supported there, or we pass these arguments directly without files (which risks issues on Windows), or we have to generate our own argument files.