Commit Graph
582 Commits
Author SHA1 Message Date
Moritz Angermann d28b2c0b94 Guard Windows RTS DLL search path conversion failures
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.
2026-10-17 12:53:26 +09:00
Moritz Angermann ca0deb7050 Declare bitvec's Clang runtime on Intel Darwin 2026-10-17 11:32:27 +09:00
Moritz Angermann 748c146df9 Handle unknown COMDAT function sizes used by GCC thunks 2026-10-17 10:12:23 +09:00
Moritz Angermann 723aacf523 Record native Linux COMDAT runtime regression 2026-10-17 10:03:51 +09:00
Moritz Angermann b494c856a9 Capture Wine exceptions in failed Windows TH diagnostics 2026-10-17 10:02:32 +09:00
Moritz Angermann 03b83dd4df Handle singleton COMDAT functions in i386 musl RTS 2026-10-17 09:55:24 +09:00
Moritz Angermann 38394fd9b8 Use XFTP completion cleanup compatibility fix 2026-10-17 08:58:17 +09:00
Moritz Angermann 8c51745233 Keep patched Android crypton as a dependency-only goal
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.
2026-10-17 08:32:28 +09:00
Moritz Angermann 8c5d240849 Separate manual Nix build group queues
Append the selected group only for workflow_dispatch. Preserve the exact PR and push concurrency keys and keep cancel-in-progress disabled.
2026-10-17 08:22:23 +09:00
Moritz Angermann 4051b8f71f Fix Android pthread metadata before mobile shared linking
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.
2026-10-17 08:20:19 +09:00
Moritz Angermann 43262a5c05 Allow focused static CI dispatch while preserving active PR builds 2026-10-17 07:10:37 +09:00
Moritz Angermann 21ad0edcc4 Defer musl iserv source selection through the module fixed point 2026-10-17 06:52:15 +09:00
Moritz Angermann 7e33bfb4b7 Bound the canonical Windows TH gate and trace failed interpreter calls 2026-10-17 06:45:35 +09:00
Moritz Angermann eb79eece79 Preserve mobile component project metadata 2026-10-17 06:10:16 +09:00
Moritz Angermann c464566763 fix(nix): plan Windows x509 from its patched source
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.
2026-10-17 05:06:13 +09:00
Moritz Angermann 7f1e4cbb55 ci: retain Intel Setup diagnostics after compiler rebuilds 2026-10-17 04:20:00 +09:00
Moritz Angermann f0eacef513 Fix dynamic musl interpreter private AIO symbol registration 2026-10-17 04:15:25 +09:00
Moritz Angermann 6e300d5e43 docs: record current compiler and cross-build results 2026-10-17 04:09:11 +09:00
Moritz Angermann 11b7f33921 Seed SplitMix on Android below API 28
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.
2026-10-17 04:03:38 +09:00
Moritz Angermann ad69b2b1a6 fix(nix): keep Intel Darwin info tables with their entry code
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.
2026-10-17 03:32:41 +09:00
Moritz Angermann c5b7a04fed docs: record completed builds and remaining cross-target validation 2026-10-17 02:18:26 +09:00
Moritz Angermann 89ffaea1be Allow musl cross interpreters to load C dependencies
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.
2026-10-17 02:17:58 +09:00
Moritz Angermann 815d8434c3 Fix rebound negation of the Windows invalid handle constant 2026-10-17 02:05:28 +09:00
Moritz Angermann 2363559411 ci: invoke the Intel Setup abort tracer directly 2026-10-17 01:53:39 +09:00
Moritz Angermann c44ba566b8 Apply interpreter source fixes to both Android ABIs
Keep the QEMU and scheduling overrides specific to supported ARM32 emulation. Check the source-module routing with a pure regression in the Android CI group.
2026-10-17 01:19:22 +09:00
Moritz Angermann 75cb52df6a Share the mobile export manifest with desktop build guards 2026-10-17 00:51:06 +09:00
Moritz Angermann 7d045945a3 docs: record iconv controls and profiling core build limits 2026-10-16 23:55:27 +09:00
Moritz Angermann b329daa22a fix(nix): register ARM64 GNU iconv interpreter symbols 2026-10-16 23:55:12 +09:00
Moritz Angermann b7623c4416 ci: trace Intel Setup aborts without debugger access 2026-10-16 23:49:55 +09:00
Moritz Angermann 9493799c94 docs: explain cross-build compatibility fixes and current validation 2026-10-16 22:52:31 +09:00
Moritz Angermann 00afd113ad build: fix native GHC ELF section alignment 2026-10-16 22:51:54 +09:00
Moritz Angermann 2951153b49 build: cast Windows invalid handle to pointer-sized integer 2026-10-16 22:49:15 +09:00
Moritz Angermann eabd7d7f3b build: declare static crypto libraries for musl packages 2026-10-16 22:27:44 +09:00
Moritz Angermann bbcf3e4895 Respect Android API availability in the ARM64 interpreter symbol table 2026-10-16 22:27:44 +09:00
Moritz Angermann ba07843efb Preserve Nix CLI and flakes features in the CI installer 2026-10-16 21:34:39 +09:00
Moritz Angermann b4a1cdd54e Capture the pinned Intel Setup failure in Nix CI 2026-10-16 21:23:57 +09:00
Moritz Angermann 75f95375f8 build: diagnose Intel Darwin ghc-boot Setup failures with LLDB 2026-10-16 21:19:24 +09:00
Moritz Angermann 17554a9d17 Declare Composition wired dependency for GHC 9.14 cross builds 2026-10-16 21:12:32 +09:00
Moritz Angermann 87ab2143cc Capture native GHC faults with bounded GDB diagnostics
Run the existing failure-only native Linux trace through pinned GDB, following the compiler shell wrapper so package DB and -B flags remain intact. Fetch the debugger only from caches within the existing overall bound and preserve diagnostic exit failures. Capture bounded stacks, registers, PC disassembly and mappings without environment or core dumps.

Validation: 41 generated-wrapper forwarding/status cases and three extracted workflow-shell cases pass; debugger cache-only fetch succeeds. The local Rosetta Linux VM cannot ptrace the child, and the bounded native ARM control stopped at metadata, so actual native fault capture remains a CI validation step.
2026-10-16 21:06:02 +09:00
Moritz Angermann 1ba0c07c69 Enable the Nix feature required by guarded cross slices 2026-10-16 20:32:14 +09:00
Moritz Angermann 3fd3a03879 Preserve canonical core settings in cloud GHC traces 2026-10-16 20:20:25 +09:00
Moritz Angermann a62b1848c0 Run native and cross target groups independently in Nix CI 2026-10-16 20:10:08 +09:00
Moritz Angermann 58b736e73d Trace native Linux GHC phases after CI build failure 2026-10-16 20:00:20 +09:00
Moritz Angermann c3e2b5e7a8 docs: record final GHC 9.14 Mac artifact validation 2026-10-16 14:22:45 +09:00
Moritz Angermann f26dbbc0d9 Document passing ARM32 TH and upstream Hydra jobset 2026-10-16 13:26:57 +09:00
Moritz Angermann 748becda3e Enable ARM32 Android Template Haskell on emulated Linux builders
Scope the scheduling opt-out to the patched QEMU versions, patch the interpreter source before planning, and expose the real static Bionic and GNU iconv symbols. Use the RTS package dependency for Android libffi.

The production interpreter reaches Haskell main on Rosetta and native ARM64 QEMU. Normal target TH, the ARM32 shared export, a C caller returning 42, and upstream annotations pass. Profiling execution is not yet validated.
2026-10-16 13:22:52 +09:00
Moritz Angermann 6c5cc972ac Record final GHC 9.14 matrix and actual mobile builds 2026-10-16 01:39:17 +09:00
Moritz Angermann 2f314dd2b3 Document verified iOS archive packaging checks 2026-10-16 00:11:18 +09:00
Moritz Angermann 52cbb2c7f7 Propagate Android iconv to interpreter consumers
Declare GNU libiconv as a ghc-internal system dependency in Android projects. The setup hook satisfies configure before it records library names, so consumer slices must also receive the system dependency and its static link flag.

Checked exact production vanilla and profiled interpreter derivations: both now include GNU libiconv in runtimeLibs, and native/cross compiler identities remain unchanged. The core derivation changes through dependency and install metadata; its code generation inputs remain the same.
2026-10-16 00:08:51 +09:00
Moritz Angermann a07095f8bc Record GHC 9.14 matrix and runtime validation 2026-10-15 23:42:43 +09:00