-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Enable building/disting standard library in stage 0 #145876
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
Conversation
This PR modifies If appropriate, please update |
This unfortunately has a merge conflict. I'll review this tmrw. |
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.
Actually just kidding, the changes look good to me. Please r=me after fixing the change tracker conflict.
@rustbot author |
☔ The latest upstream changes (presumably #145871) made this pull request unmergeable. Please resolve the merge conflicts. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
@bors r=jieyouxu |
Rollup of 9 pull requests Successful merges: - #144499 (ci: Begin running ui tests with `rust.debuginfo-level-tests=1`) - #145790 (Improve dist for gnullvm hosts) - #145792 (Use attribute name in message for "outer attr used as inner attr" errors) - #145840 (rustc_codegen_ssa: More comprehensive RISC-V ELF flags) - #145876 (Enable building/disting standard library in stage 0) - #145887 (bootstrap: Don't panic if codegen-backends is set to empty) - #145888 (platform-support: Fix LoongArch32 host column) - #145892 (add a flag to codegen fn attrs for foreign items) - #145901 (Fix typo in comment of library/alloc/src/raw_vec/mod.rs) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #145876 - Kobzol:dist-std-build, r=jieyouxu Enable building/disting standard library in stage 0 After the stage0 redesign, building a stage0 library no longer is a thing, because the stage0 compiler normally cannot build libstd anymore. However, there are valid use-cases for having the ability to quickly cross-compile libstd for different targets, when the stage0 compiler is e.g. a stable released version, and you want to cross-compile libstd from the same sources of that compiler. This PR allows that, as long as you set `build.local-rebuild = true`, which promises bootstrap that the stage0 compiler actually comes from in-tree sources, and can thus compile libstd. The change needed to enable this is very minimal, so I think that it is worth it to allow this use-case to work. Fixes: #145587 Fixes: #145859 Related issue: #94781 r? `@jieyouxu`
Rollup of 9 pull requests Successful merges: - rust-lang/rust#144499 (ci: Begin running ui tests with `rust.debuginfo-level-tests=1`) - rust-lang/rust#145790 (Improve dist for gnullvm hosts) - rust-lang/rust#145792 (Use attribute name in message for "outer attr used as inner attr" errors) - rust-lang/rust#145840 (rustc_codegen_ssa: More comprehensive RISC-V ELF flags) - rust-lang/rust#145876 (Enable building/disting standard library in stage 0) - rust-lang/rust#145887 (bootstrap: Don't panic if codegen-backends is set to empty) - rust-lang/rust#145888 (platform-support: Fix LoongArch32 host column) - rust-lang/rust#145892 (add a flag to codegen fn attrs for foreign items) - rust-lang/rust#145901 (Fix typo in comment of library/alloc/src/raw_vec/mod.rs) r? `@ghost` `@rustbot` modify labels: rollup
After the stage0 redesign, building a stage0 library no longer is a thing, because the stage0 compiler normally cannot build libstd anymore. However, there are valid use-cases for having the ability to quickly cross-compile libstd for different targets, when the stage0 compiler is e.g. a stable released version, and you want to cross-compile libstd from the same sources of that compiler.
This PR allows that, as long as you set
build.local-rebuild = true
, which promises bootstrap that the stage0 compiler actually comes from in-tree sources, and can thus compile libstd.The change needed to enable this is very minimal, so I think that it is worth it to allow this use-case to work.
Fixes: #145587
Fixes: #145859
Related issue: #94781
r? @jieyouxu