-
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
bootstrap: Remove the distinction between compiler
and compiler_for
#96176
Comments
I'd like to work on this. @rustbot claim |
Hi @ohno418, have you had time to work on this? Happy to help out if you're running into trouble :) |
Currently, I'm looking into the bootstrapping process. I'll ask you on Zulip about the details that I don't understand, maybe within a week or so. |
@ohno418 here are some existing resources on how bootstrapping works: https://discord.com/channels/442252698964721669/487245758739906560/964730715222732800 |
Thank you! I'll check it. |
I've been working on this for a while but found some difficulties. Or maybe I just don't understand much. For future tips, leaving the part that I got stuck, and some advice that @jyn514 gave me: @rustbot release-assignment |
bootstrap: add more tracing to compiler/std/llvm flows - Add more tracing to compiler/std/llvm flows. - Two drive-by nits: 1. Take `TargetSelection` by-value for `builder.is_builder_target()`. Noticed while adding tracing; follow-up to rust-lang#136767. 2. Coalesce enzyme build logic into one branch. - Document `COMPILER{,_FOR}` tracing targets for rust-lang#96176. - No functional changes. ### Testing You can play with the tracing locally with: ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ``` ### Previews ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library ```  ``` $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ```  r? `@onur-ozkan` (or reroll)
bootstrap: add more tracing to compiler/std/llvm flows - Add more tracing to compiler/std/llvm flows. - Two drive-by nits: 1. Take `TargetSelection` by-value for `builder.is_builder_target()`. Noticed while adding tracing; follow-up to rust-lang#136767. 2. Coalesce enzyme build logic into one branch. - Document `COMPILER{,_FOR}` tracing targets for rust-lang#96176. - No functional changes. ### Testing You can play with the tracing locally with: ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ``` ### Previews ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library ```  ``` $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ```  r? ``@onur-ozkan`` (or reroll)
Rollup merge of rust-lang#137080 - jieyouxu:more-tracing, r=onur-ozkan bootstrap: add more tracing to compiler/std/llvm flows - Add more tracing to compiler/std/llvm flows. - Two drive-by nits: 1. Take `TargetSelection` by-value for `builder.is_builder_target()`. Noticed while adding tracing; follow-up to rust-lang#136767. 2. Coalesce enzyme build logic into one branch. - Document `COMPILER{,_FOR}` tracing targets for rust-lang#96176. - No functional changes. ### Testing You can play with the tracing locally with: ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ``` ### Previews ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library ```  ``` $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ```  r? ``@onur-ozkan`` (or reroll)
I tried changing this and it went ... not well. Removing
compiler
altogether gives 71 build errors, and changing it to aliascompiler_for(stage, host, host)
fails a bunch of the tests, including some that look like real issues:Looking at the call sites, they usually look like this:
so I think the "proper" fix is to pass
run.target
into compiler_for in most of these cases; at very least, we can't assume it's alwayshost
.In some cases it may not be clear what target is appropriate - feel free to ask on Zulip.
@rustbot label +A-rustbuild +E-mentor +E-medium
Originally posted by @jyn514 in #96000 (comment)
The text was updated successfully, but these errors were encountered: