Repository navigation
release: 2026.10.26.2 -- a WebAssembly link writes its .wasm again; GCC module maps; trim_paths per package (#844) - #842
Open
Sunrisepeak wants to merge 8 commits into
Open
Sunrisepeak wants to merge 8 commits into
Sunrisepeak wants to merge 8 commits into
Conversation
…2026.10.26.2) 2026.10.26.1 linked every POSIX output to $out.tmp and renamed it. Emscripten names the files it writes beside the output after the output, so a link to app.js.tmp wrote no app.wasm: the edge's implicit output was missing and mcpp pack of a wasm32-emscripten program found no stem family (mcpp-plugins' dist-web). A WebAssembly link is in place, as a PE link is. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…e format, mcpplibs.os, and part 1's closure Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…_paths is per package (#844) A GCC module map now names the BMI directory as its repository ($root) and every path below it, so a BMI built with GCC's own mapper and one built with a map record their imports at the same paths: an indirect import, and `import std.compat`, are found in a unit with a map. A dependency BMI an earlier mcpp cached spells its imports the earlier way, so the cache key of a package that provides a module under GCC carries the spelling (the upgrade lane's `modules` variant). The dyndep step reads $root. The `trim_paths` prefix map left the flags every unit shares: a unit carries the fixed roots and its own package's closure, so switching workspace members no longer recompiles their common dependencies (e2e 872 F). Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
force-pushed
the
release/2026.10.26.2
branch
from
October 26, 2026 09:44
9016c0b to
90719e0
Compare
…cord is active Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…dep step does A staged BMI's edge waits for the modules its map names, and the backend read the map line by line: `$root gcm.cache' became a module named `$root' and every path lost its repository, so the edge waited for `local-dev.gen-dep/gen.dep.table.gcm' beside the build directory (e2e 849). It reads the map with parse_module_map now. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…conditional; a closed reader ends mcpp in order The platform constants and architecture, the executable's name, PATH lookup, directory links, no-replace renames, volume identities and terminals come from mcpplibs.os. What it does not carry -- the launchers and their signal guard, flock-compatible file locks, durable sync -- is one implementation unit per system, selected by modules/platform/mcpp.toml. openkal ignores SIGPIPE for its own writes, and the ignore survived exec into every program mcpp started; std::print to a closed stdout threw. mcpp installs a SIGPIPE handler first thing: it ends mcpp as an interrupt does, then by the signal (141), and exec resets it for children. e2e 941. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…d, run by okrun, packed as the image (M2) or a program that carries it (M3) The triple names no operating system (<arch>-unknown-none-elf); the convention's flags and an ld.lld link produce an ET_DYN entered at ok_main; okld note and okld check, programs of the graph, finish each image before it takes its name. okrun is the target's runner. The target side's kernel-abi is fixed to openkal; every layer above it is the graph's, and the payload's libc++ is withheld. e2e 942; unit Triple.OpenkalIsAnImageForNoOperatingSystem. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
2026.10.26.1 published every POSIX link through
$out.tmpand a rename (D22). Emscripten names the files it writes beside the output after the output, so a link toapp.js.tmpwrote noapp.wasm: the edge's implicit output was missing andmcpp pack --format web --target wasm32-emscripten(mcpp-plugins'dist-web, found by mcpp-plugins#51's CI) failed withno action claimed --format 'web'. A WebAssembly link is now in place, as a PE link is.Verified locally with emsdk 6.0.9: mcpp-plugins' web-consumer
check-web-plan.shpasses (fails on 2026.10.26.1, passes on 2026.10.24.1); e2e 650 part 2 (app.js + app.wasm, run, pack) and 938 pass. mcpp-plugins CI against this branch: run 40268128959.Co-authored-by: speak-agent 248744407+speak-agent@users.noreply.github.com