-
-
Notifications
You must be signed in to change notification settings - Fork 62
Always patch the interpreter of rustlib binaries #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: staging
Are you sure you want to change the base?
Conversation
The diff doesn't make it obvious what I'm actually changing: I'm swapping two loops and making a small change to one of them, but the loop body is sufficiently similar the diff looks like I'm modifying two loops. The change should be:
I think you can test this by manually running |
(disregard previous message, I can't read error messages) I can confirm this has solved the |
Can also confirm this |
Rebased to staging (sorry, must've missed that at the bottom of README before), but although the change is likely still correct I can't conveniently test it anymore (I've migrated off fenix in the >1y since I sent this). So please confirm this still fixes things before merging... |
When using `stable.toolchain`, `lib/rustlib/x86_64-unknown-linux-gnu/bin/rust-lld` and other binaries in the same directory are not patched, so they do not work. I'm not sure exactly when Rust uses these, but it seems to break cross-compilation to `wasm32-unknown-unknown`. Fix it by generalizing the patching applied to the `rustc` component. Replace the glob with a `find` invocation to avoid errors on components that have a `lib` directory but no `lib/rustlib/*/bin`.
When using
stable.toolchain
,lib/rustlib/x86_64-unknown-linux-gnu/bin/rust-lld
and other binaries in the same directory are not patched, so they do not work. I'm not sure exactly when Rust uses these, but it seems to break cross-compilation towasm32-unknown-unknown
.Fix it by generalizing the patching applied to the
rustc
component. Replace the glob with afind
invocation to avoid errors on components that have alib
directory but nolib/rustlib/*/bin
.