So, if I am not mistaken, we currently execute the stage1 compiler using the runtime sources that we compile out of the user's directory. As the stage1 binary is built using the snapshot, this doesn't seem quite right: we ought to be executing it using the snapshot runtime. The stage2 and stage3 binaries, then, ought to execute using the runtime from the user's directory.

The way things are setup now, if I want to make a change to the runtime, I have to ensure that the rt code will still execute with what is being produced by the snapshot compiler. Under my proposed setup, the runtime would only have to work with the code produced by the stage1 compiler (i.e., with the code produced by the sources in the user's directory, not the code produced by the snapshot). This ought to make migration significantly easier!

Does this seem correct to everyone else, or am I missing something?

If others agree, I will modify the buildsystem so that stage0/lib/$(TRIPLE)/$(CFG_RUNTIME) (on mac) comes from the snapshot, and stage1/lib/$(TRIPLE)/$(CFG_RUNTIME) comes from rt/$(TRIPLE)/$(CFG_RUNTIME).



Niko
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to