blaise/scripts
Graeme Geldenhuys 48569f36d1 fix(linker,bootstrap): error on missing RTL; carry RTL with correct name
The internal linker silently emitted a runtime-less binary when blaise_rtl.a
could not be found beside the compiler (RTLPath empty): every RTL symbol became
an undefined dynamic import, so the binary linked but died at runtime with
`undefined symbol: _SetArgs`.

scripts/rolling-bootstrap.sh hit exactly this: it carried each step's binary
forward as _carry_blaise with its RTL as _carry_rtl.a, but FindRTLArchive looks
for `blaise_rtl.a` beside the binary (CompilerBinDir) — a name it never used —
so the next step linked the compiler with no runtime archive and SMOKE_FAILED.

- Carry the binary + RTL into a dedicated _carry/ dir as blaise + blaise_rtl.a,
  so FindRTLArchive resolves it. Rolling bootstrap reaches HEAD again.
- Make an empty RTLPath a hard error on both link paths (internal and external
  cc) instead of producing a broken binary.
- Regression test TInternalLinkerE2ETests.TestLink_MissingRTL_FailsLoudly:
  runs a symlinked compiler from an RTL-free dir and asserts a non-zero exit, a
  message naming blaise_rtl.a, and no output binary.

The four fixpoint scripts missed this because fixpoint-native.sh links the .s
via gcc, never exercising the internal-linker + FindRTL path on a carried
binary layout.
2026-06-24 07:40:30 +01:00
..
BOOTSTRAP.adoc tooling: rolling-bootstrap script for development-checkout builds 2026-06-03 08:05:16 +01:00
fixpoint-native-internal.sh chore(phase3): deprecate QBE in help text, guard internal linker, document toolchain 2026-06-19 18:16:46 +01:00
fixpoint-native.sh feat: add native fixpoint verification script 2026-06-10 14:02:01 +01:00
fixpoint-warmcache.sh test(fixpoint): add warm-cache rebuild guard 2026-06-22 12:24:41 +01:00
fixpoint.sh feat(backend): default to native backend; fix codegen bugs exposed by the switch 2026-06-19 04:27:41 +01:00
rolling-bootstrap.sh fix(linker,bootstrap): error on missing RTL; carry RTL with correct name 2026-06-24 07:40:30 +01:00