-
Notifications
You must be signed in to change notification settings - Fork 515
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
Added rust phases diagram and explanation #301
Added rust phases diagram and explanation #301
Conversation
igaray
commented
Apr 17, 2019
•
edited
Loading
edited
- CoC read
- Included @ehuss 's diagram of rustc compilation phases and artifacts
- Added elaboration on stage naming convention
- Added content from Fix off-by-one-error in stage numbering between rustc-guide and rustbuild rust#57963
The diagram was made by @ehuss, @nnethercote build a first explanation with text. |
Sure, you're free to use it. Here's the source file if you want to edit it: https://gist.github.com/ehuss/70eafa935cf21f0d67533790dcafc18e That can be edited in https://www.draw.io/. Just keep in mind that this is a simplification. If there are non-host targets, its a bit different (described here), and passing flags like |
I'll add in those caveats, thank you |
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.
Thanks! This is helpful addition.
A couple of small nits, but other than that r=me 🙂
Update: pushed some more content and almost done but still missing some important info and editing. Will r= when done. |
r=mark-i-im @jonas-schievink @dwijnand @mark-i-m @ehuss @Mark-Simulacrum |
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.
Looks good to me :)
I’m fine with merging this now, but i will leave it open for a day or so for the others you cc’ed.
Thanks!
on). It will also be used by the stage (N+1) compiler to link against itself. | ||
This is somewhat intuitive if one thinks of the stage (N+1) compiler as "just" | ||
another program we are building with the stage N compiler. In some ways, `rustc` | ||
(the binary, not the `rustbuild` step) could be thought of as one of the few |
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'm not sure I understand this sentence. rustc
links to libstd/libcore?
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.
Yes, but IIUC, bootstrap treats libstd/libcore as "just another crate" that we are linking to our program. In other words, one can think of the compiler as a no_core
program that cross-compiles and links with its own versions of the standard library.
@igaray Sorry for the delay. Can you rebase? After that I think we can merge. This PR has already undergone more scrutiny than most. Thanks for your patience! |
Rebased but chalk links are broken again. Will rebase again after #322 is merged |
Added rustc build phase diagram and explanation