Patch the pinned MQ source before planning so Windows assembly references the existing C-owned capability flag instead of declaring redundant COMMON storage. Preserve BLST CPU detection and all instruction sections and relocations.
Add a selected-MinGW producer/linkage regression. The canonical application TH runtime remains the final CI gate.
Preserve upstream build caching, agent peer type and channel profile fixes. Keep migration CI diagnostics and runner settings, using the upstream Linux CLI step ID for the termination report.
Apply upstream e7e21db to the verified MinGW 13/14 CRT sources. Exact-fit ISO swprintf currently returns failure after writing the complete namespace path, making the unchanged GHC filesystem helper reject ordinary files. Keep truncation errors and other runtime variants intact.
Resolve relative paths once, retain successful namespace conversion, and use the resolved absolute path when conversion fails. Preserve the DLL directory cookie and Win32 errors across cleanup.
Apply only to Linux-built Win64 ghc914-sh v2 target RTS packages. Add a real-module scope check and native caller boundary regression; Windows runtime qualification remains separate.
Disable only its newly promoted local tests and benchmarks before planning. Preserve the original library-only dependency scope, package bounds and flags while retaining the pthread metadata patch.
Patch crypton and direct-sqlcipher before planning: Bionic supplies pthread in libc and the NDK has no separate libpthread. Preserve compiler threading flags and the shared-link adapter.
Check Android-only source selection and allow the existing Android CI group to be dispatched independently for final-link validation.
The v2 builder restores the original Cabal description override after source patching and also publishes that metadata into its index. Add the already selected 1.6.8 source as a prepatched local package so crypt32 reaches planning and source packaging. Apply the package patch once.
The actual native source producer changes only the Cabal file. Independent project capture retains Composition and byte-identical non-Windows project text. Production Windows planning, packaging, and final linking remain CI checks.
Retain the new badge receipt modules and X.509 dependencies alongside the migrated dependency ranges. Cabal parsing and 84 compiler/platform/flag finalizations pass; full builds remain for CI.
Use Bionic arc4random_buf for the older Android API route and retain the existing getentropy initializer from API 28. Register the real function address in the ARM32 interpreter so loaded SplitMix objects can resolve it.
Both ABI controls verify API26 compilation and linking against the actual NDK headers and providers, and API35 object equality. Final source checks use native LLVM21; exact final NDK18 and production package-tar validation remain for CI after local VM startup failures.
Mark x86 Mach-O info entries as alternate entries in both GHC stages, so LLD preserves tables-next-to-code. Add a production compiler object/link regression to the existing Intel CI job.
Keep static Haskell libraries and fully static application outputs while planning ghc914-sh iserv projects with a dynamic musl C loader. Scope the policy to Linux-built musl Cabal v2 interpreters and check that scope in static Linux CI.
Normal and profiled target plans preserve all unit IDs, source records and Haskell ways; only the iserv executable-static flag changes. The shared V2 project skeleton changes auxiliary derivation hashes. A small i686 musl probe reproduces static dlopen failure and verifies the dynamic loader under QEMU; full interpreter TH validation remains for canonical CI.