aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-02 18:33:16 +0900
committerOphestra <cat@gensokyo.uk>2026-02-02 18:33:16 +0900
commit7877b4e6275f8b76c30540f5ae82c570417b17f7 (patch)
tree0d2831361f8392b7079bedb70554d8d462da3c48
parent47ce6f5bd09472a46a576d3d223d0d6327d8401b (diff)
cmd/mbf: print extra stage3 information
This includes ident of all three stages and the matching checksum if check is passing. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--cmd/mbf/main.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index db1c2c58..2c10c3ab 100644
--- a/cmd/mbf/main.go
+++ b/cmd/mbf/main.go
@@ -113,6 +113,7 @@ func main() {
"stage3",
"Check for toolchain 3-stage non-determinism",
func(args []string) (err error) {
+ _, _, _, stage1 := (rosa.Std - 2).NewLLVM()
_, _, _, stage2 := (rosa.Std - 1).NewLLVM()
_, _, _, stage3 := rosa.Std.NewLLVM()
var (
@@ -120,6 +121,11 @@ func main() {
checksum [2]unique.Handle[pkg.Checksum]
)
+ if pathname, _, err = cache.Cure(stage1); err != nil {
+ return err
+ }
+ log.Println("stage1:", pathname)
+
if pathname, checksum[0], err = cache.Cure(stage2); err != nil {
return err
}
@@ -134,6 +140,11 @@ func main() {
Got: checksum[0].Value(),
Want: checksum[1].Value(),
}
+ } else {
+ log.Println(
+ "stage2 is identical to stage3",
+ "("+pkg.Encode(checksum[0].Value())+")",
+ )
}
return
},