From f2c53ff2f8def14f074780c91a674c2d81b5fa34 Mon Sep 17 00:00:00 2001 From: Chris Tate Date: Sun, 25 Oct 2026 23:32:41 -0500 Subject: [PATCH] Build the bootstrap seed without the function layout The native bootstrap compares the seed's LLVM, which the Node-hosted compiler emits, with the LLVM the native compiler emits for itself. The seed's build applied the committed function layout and the native compiler has none, so the two listed the same functions in different orders. The layout only orders functions, so the seed is built without it. --- scripts/bootstrap-seed.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/bootstrap-seed.mjs b/scripts/bootstrap-seed.mjs index f0993f126..fc9a297d8 100644 --- a/scripts/bootstrap-seed.mjs +++ b/scripts/bootstrap-seed.mjs @@ -51,6 +51,10 @@ async function main() { ...process.env, SCRIPTC_NATIVE_EMIT_IR: "1", SCRIPTC_NATIVE_OPTIMIZATION: sanitize ? "dev" : "release", + // The bootstrap compares the seed's LLVM with the native compiler's + // own emission, which has no function layout. The layout only orders + // the functions, so the seed is built without it. + SCRIPTC_NATIVE_LAYOUT: "", }, }, );