Skip to content

Bootstrap seed 7/8: deep-copy bitpacked_types (9afc7d71)

Pre-release
Pre-release

Choose a tag to compare

@ropoctl ropoctl released this 26 Jul 12:34

Bootstrap seed — Linux x86_64 stage3 @ 9afc7d71 (chain rung 7 / 8)

This asset is the Linux x86_64 self-hosted with compiler (a stage3 build)
at commit 9afc7d717bcaedaf5f20ad95276816fef7099740.

  • Commit: 9afc7d71 — Mir: deep-copy bitpacked_types in
    snapshot_sema_types (safe-free correctness)
  • Role: rung 7 of 8 — the safe-free correctness fix.
  • Predecessor seed: rung 6 (7d11c42e) stage3.
  • What it changes: MirModule.snapshot_sema_types(&Sema) deep-copies
    bitpacked_types instead of shallow-copying the HashMap handle out of a
    borrowed &Sema. The shallow copy aliased one runtime buffer between
    last_sema and last_mir_module, which both freed at teardown → the
    double-free that NEVER_FREE_MODE=1 was masking. This is the fix that makes
    restoring real free() (rung 8) safe.
  • Verification: re-verified this cycle — seeded from rung 6, full
    stage1/2/3 build, byte-identical fixpoint (stage2 == stage3). Still
    NEVER_FREE_MODE=1 at this rung (the flag flips at rung 8).

Asset: with-linux-x86_64 (+ .sha256). Use as a bootstrap seed:
WITH=./with-linux-x86_64 with build :stage1 (needs the pinned LLVM SDK in .deps/).