-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Create self-contained directory and move there some of external binaries/libs #72999
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know essentially nothing about these so happy to cede review to @petrochenkov (or someone else). The bootstrap code looks reasonable, though only from a "doesn't do anything unexpected" rather than "does the right thing" perspective.
LGTM. |
I'd like to interject for a moment to paint the bike shed. On one hand this is a "fallback" mode because it's not desirable (also "fallback" is a shorter word). On the other hand, we can't really fallback from the libraries and objects provided by native toolchain to libraries and objects provided by us, in a sense that " So, I guess, "self-contained" it is. |
I don't mind either name. |
ef5f5f8
to
da03b26
Compare
Included commit moving bundled GCC and Binutils to |
@bors try |
⌛ Trying commit da03b26cfe80fc12c10d9ed41dd8afe4bdb3484a with merge 8391cc93e571cc4a32d6b0a9958e88a154268c7a... |
☀️ Try build successful - checks-azure |
This distribution layout change may require tweaking manifests used by rustup, for the |
I'm not sure what you mean. This works fine when installed with Contents of the manifest:
|
It's great if it works without changes, I just mentioned it as something to check and keep in mind. |
da03b26
to
7c45b38
Compare
Okay, this should be ready. Should I squash |
Please do squash the review-addressing commits. |
7c45b38
to
43905cd
Compare
Squashed, rebased and testuite still passes. |
This comment has been minimized.
This comment has been minimized.
IMO, this is good to r+, but I want to stop before we move ahead and ask -- it feels like this is a pretty major change, and should go through at least a MCP (and maybe even compiler team FCP, given impacts to stable users). But, I don't know much about this area, so I'm going to cede r? @petrochenkov for final approval of the PR in a more conceptual sense (r=me on the literal code changes, though). |
Sigh. @mati865, could you fill the MCP form (https://forge.rust-lang.org/compiler/mcp.html#major-change-proposals-1) and point it to #68887 (comment)? Then I'll r+ this once someone else sanity checks the idea. |
To be clear if this isn't changing anything all that major, just moving some files around and in a way that shouldn't matter to anyone, then I'm fine moving ahead without that -- I don't really understand our linkage story wrt to self-contained and mingw etc well enough that I can comment well there. |
I'll try to prepare it tomorrow.
The intention is to make no visible changes to the user yet. Few libraries are moved to a subdirectory but changes to |
Aha okay, then I'm fine with just @bors r+ this PR, and we can MCP in parallel, before we land user visible changes. Would be good to get some of the broader strategy written up for rustc dev guide too. |
📌 Commit 43905cd has been approved by |
Rollup of 13 pull requests Successful merges: - rust-lang#70740 (Enabling static-pie for musl) - rust-lang#72331 (Report error when casting an C-like enum implementing Drop) - rust-lang#72486 (Fix asinh of negative values) - rust-lang#72497 (tag/niche terminology cleanup) - rust-lang#72999 (Create self-contained directory and move there some of external binaries/libs) - rust-lang#73130 (Remove const prop for indirects) - rust-lang#73142 (Ensure std benchmarks get tested.) - rust-lang#73305 (Disallow loading crates with non-ascii identifier name.) - rust-lang#73346 (Add rust specific features to print target features) - rust-lang#73362 (Test that bounds checks are elided when slice len is checked up-front) - rust-lang#73459 (Reduce pointer casts in Box::into_boxed_slice) - rust-lang#73464 (Document format correction) - rust-lang#73479 (Minor tweaks to liballoc) Failed merges: r? @ghost
…trochenkov Self contained linking option With objects moved to self-contained directory by rust-lang#72999 we can now add option to control whether to use self-contained on native linkage mode.
…trochenkov Self contained linking option With objects moved to self-contained directory by rust-lang#72999 we can now add option to control whether to use self-contained on native linkage mode.
One of the steps to reach design described in #68887 (comment)
This PR moves things around and allows link code to handle the new directory structure.