-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
build should not bootstrap compilers for non-build-triple host compilers #5258
Comments
Since the build system is eventually moving from Make to Rust, this should not be an immediate priority. |
Don't know why this is on a milestone. Removing. |
As a sidenote, this could be interesting for Debian in order to make the whole system cross-bootstrappable. Not in the short term, though. |
part of #8058 |
Triage:
I would guess this is why there's no change so far. |
Triage: still relevant, though rustbuild may be upon us at last to free us from our woes: #31590 |
This commit fixes a longstanding issue with the makefiles where all host platforms bootstrap themselves. This commit alters the build logic for the bootstrap to instead only bootstrap the build triple, and all other compilers are compiled from that one compiler. The benefit of this change is that we can cross-compile compilers which cannot run on the build platform. For example our builders could start creating `arm-unknown-linux-gnueabihf` compilers. This reduces the amount of bootstrapping we do, reducing the amount of test coverage, but overall it should largely just end in faster build times for multi-host compiles as well as enabling a feature which can't be done today. cc rust-lang#5258
This is now done with rustbuild, (the future!), so closing. |
…ip1995 Add lint for .. use in fully binded struct This PR adds the lint `match-wild-in-fully-binded-struct` to prevent the use of the `..` pattern when all fields of the struct are already binded. Fixes: rust-lang#638 changelog: Add [`rest_pat_in_fully_bound_structs`] lint to warn against the use of `..` in fully binded struct
When building a cross-compiled Rust compiler, e.g. building a rustc that runs on i686 from x86_64, we first bootstrap the 'A' compiler (x86), from stage0 to stage2, then we use the stage2 'A' compiler to build the stage0 'B' compiler (i686), and go through the entire bootstrap process again, building the 'B' compiler with itself.
This has some problems:
Fixing this is going to require some deep restructuring of the makefiles.
The text was updated successfully, but these errors were encountered: