blaise/scripts
Graeme Geldenhuys 773d773008 rtl-unification: move E2E test helpers off blaise_rtl.a (source-built RTL)
The E2E test helpers linked Blaise programs against the shipped blaise_rtl.a.
With the archive on its way out (RTL-unification Stage 3), migrate them to the
source-built RTL:

- cp.test.e2e.base gains LinkWithRTL: assembles the program object, builds the
  RTL from source via scripts/build-rtl-objects.sh (--exclude-defined-by drops
  the RTL units the whole-program assembly already inlined), and links the loose
  objects.  Its five cc-link sites and the ToolchainAvailable gate now use it /
  the RTL source instead of the archive.
- New cp.test.rtllink unit factors the same link helper for the standalone
  helpers (publishedrtti, proctypes_ofobject, attributes) that lower programs
  themselves rather than via the base class.
- cp.test.cli and cp.test.assembler drive an external blaise binary that
  source-builds its own RTL, so their gates now require the binary + RTL source,
  not the archive.
- cp.test.linker's TestArchive_ParsesRTL kept its archive-parser coverage
  (including the GNU long-name member) by building a throwaway .a from the
  source-built objects with ar — a test-time-only ar use, not a product one.

build-rtl-objects.sh resolves its RTL source relative to its own location (so it
works from any CWD — the fixpoint scripts run from the project root, the test
runner from compiler/), caches a per-object .syms list to keep repeated
--exclude-defined-by calls cheap, and skips rebuilding fresh objects.

Full suite green (3829 tests) on both QBE- and native-built runners; the
previously-skipped TInternalAsmE2ETests / TCLIContractTests and the archive
parser test now run.
2026-06-25 23:08:30 +01:00
..
BOOTSTRAP.adoc tooling: rolling-bootstrap script for development-checkout builds 2026-06-03 08:05:16 +01:00
build-rtl-objects.sh rtl-unification: move E2E test helpers off blaise_rtl.a (source-built RTL) 2026-06-25 23:08:30 +01:00
fixpoint-native-internal.sh rtl-unification: dedup RTL objects by symbol, build race-free; move fixpoint scripts off the archive 2026-06-25 23:08:30 +01:00
fixpoint-native.sh rtl-unification: dedup RTL objects by symbol, build race-free; move fixpoint scripts off the archive 2026-06-25 23:08:30 +01:00
fixpoint-warmcache.sh rtl-unification: dedup RTL objects by symbol, build race-free; move fixpoint scripts off the archive 2026-06-25 23:08:30 +01:00
fixpoint.sh rtl-unification: dedup RTL objects by symbol, build race-free; move fixpoint scripts off the archive 2026-06-25 23:08:30 +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