From eaabdf5796594be87084758fa524622db1c1dbaa Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sun, 18 Oct 2026 08:59:49 +0000 Subject: fix(driver): bind MinGW JIT runtime dependencies to host symbols Resolve the known weak __cxa_pure_virtual reference through the host ABI instead of JITLink's unsupported absolute-zero fallback. Share the host's initialized stack guard and failure handler, and map write to _write. Co-Authored-By: Claude Opus 5.5 --- AGENTS/ARCH.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'AGENTS') diff --git a/AGENTS/ARCH.md b/AGENTS/ARCH.md index 2408179..b14210a 100644 --- a/AGENTS/ARCH.md +++ b/AGENTS/ARCH.md @@ -142,7 +142,11 @@ Driver behavior (`tools/driver/main.cc`): small in-process COFF adapter: `MinGWCOFF.h` normalizes symbol-less MinGW `.pdata$NAME`/`.xdata$NAME` COMDATs to associative COMDATs of `.text$NAME` in private object-buffer copies before graph construction, including lazy - runtime archive members. Per-graph `__ImageBase` is shared by relocations + runtime archive members. It also makes MinGW's weak `__cxa_pure_virtual` + reference with an absolute-zero fallback an ordinary external, resolved to + the host ABI function. The runner binds the host's initialized stack guard, + stack-check failure handler and `write` alias (`_write`) on MinGW. + Per-graph `__ImageBase` is shared by relocations and SEH registration, with default backend liveness for `.pdata` and associative code edges retaining the suffixed unwind sections. JITLink uses pointer-jump stubs for external direct CALL/JMP PCRel32 references in user -- cgit v1.3.1-4-g156e