# bootstrap/ Stage-0 binaries for cold-start builds without `cc`. One subdirectory per supported architecture; each holds four statically-linked ELF executables that match the wwstage layout: bootstrap/amd64/ ww driver, equivalent to out/bin/ww_ww w6c compiler, out/bin/w6c_ww w6a assembler, out/bin/w6a_ww w6l linker, out/bin/w6l_ww The binaries are intentionally **gitignored** until the compiler stops churning enough to make the trust surface stable — see `PLAN.md` and the v1.0 plan in `BOOTSTRAP.md`. To put them under your local working copy, run `make bootstrap-snapshot` after a green `make wwstage`; to ship them, `git add -f bootstrap/amd64/{ww,w6c,w6a,w6l}` explicitly. ## Workflow A fresh-checkout flow that never invokes `cc`: make nocc # uses bootstrap//* as the stage-0 entry # and proves it reproduces itself byte-for-byte The non-nocc default (`make`) still drives `cc → cstage → wwstage`. Both paths coexist — `make nocc` lands in `out/nocc/` so the cstage build under `out/` is undisturbed. ## When to refresh the snapshot The stage-0 binaries are frozen at the cgen state they were built with. A `make nocc` failure usually means the live `selfhost/cmd/wcc` cgen has drifted from the snapshot — regenerate with `make bootstrap-snapshot` and re-verify.