Spec M19 — Windows arm64: COFF objects, a kernel32 system layer, lld-link

Goal: [target] os = "windows", arch = "aarch64" in mc.toml makes mc build emit a COFF .obj, link it with lld-link against kernel32.lib, and the result runs on Windows on ARM. The machine is arm64 (unchanged); only the object writer and the system layer are new. Nothing in stage0. Depends on M17 (target registry, machine table).

COFF writer (src/backend_coff.mc, backend coff-obj-arm64) #

System layer (lib/sys_windows.mc, bundled as sys_windows) #

Sysroot without downloads #

Driver, TOML, tests, CI #

Out of scope (recorded after the review) #

Acceptance #

test-windows.sh --build-only produces objects for every non-skipped test; llvm-readobj output matches clang's for headers, sections, symbols and relocation types; lld-link links 001 and 013 into .exe files on macOS; the CI leg runs the suite on windows-11-arm with the expected stdout/exit; make check green; golden rewritten once.

Edit this page