|
From: | Jim Newsome |
Subject: | [bug#56684] [PATCH 1/3] Bump rust 1.57 -> 1.58 |
Date: | Thu, 21 Jul 2022 20:33:51 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 |
On 7/21/22 19:08, Maxime Devos wrote:
E.g., you could try going directly from 1.57 to 1.60 without intermediate steps. If that's possible, it would be less inefficient to compile.
I dug into this a bit.The Rust bootstrapping docs say to use x.py to download the stage0 compiler. https://rustc-dev-guide.rust-lang.org/building/bootstrapping.html
x.py is a thin wrapper around bootstrap.py: https://github.com/rust-lang/rust/blob/master/x.py
bootstrap.py decides what compiler to use as stage0 from stage0.json: https://github.com/rust-lang/rust/blob/master/src/bootstrap/bootstrap.py
1.62.1 was compiled with 1.61.0: https://github.com/rust-lang/rust/blob/1.62.1/src/stage0.json#L6
1.61.0 was compiled with 1.60.0: https://github.com/rust-lang/rust/blob/1.61.0/src/stage0.json#L6
1.60.0 was compiled with 1.59.0: https://github.com/rust-lang/rust/blob/1.60.0/src/stage0.json#L6
1.59.0 was compiled with 1.58.0: https://github.com/rust-lang/rust/blob/1.59.0/src/stage0.json#L6
1.58.0 was compiled with 1.57.0: https://github.com/rust-lang/rust/blob/1.58.0/src/stage0.json#L6
So it looks like each release was compiled with a compiler from one feature-release back. In my patchset, I took the highest patch-version at each feature-version, since I don't think it makes sense to include outdated patch-levels, and it should be safe.
Trying to compile a release with an older compiler than it was originally compiled with seems unlikely to go well. It's not explicitly stated that it *won't* work, but it seems unlikely that it would, and would take a lot of time to verify by trial and error.
[Prev in Thread] | Current Thread | [Next in Thread] |