Skip to content

Commit 5abed48

Browse files
committed
the builtins package is 22.1.8.5
1 parent 6525801 commit 5abed48

6 files changed

Lines changed: 14 additions & 14 deletions

File tree

.agents/docs/2026-09-13-630-what-a-framework-still-hits-in-the-engine.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ status: landed
77

88
**Status:** landed on 2026-09-13 as mcpp 2026.9.13.2 (mcpp-community/mcpp#631),
99
`llvm.libcxx` 22.1.8.1 (new repository `mcpplibs/libcxx`),
10-
`llvm.compiler-rt-builtins` 22.1.8.4 (mcpplibs/compiler-rt-builtins#1, #2),
10+
`llvm.compiler-rt-builtins` 22.1.8.5 (mcpplibs/compiler-rt-builtins#1, #2),
1111
mcpp-index #408 and #409, and a `mcpp:plugins` change that follows the
1212
release. Every statement about the engine was read at `b63dc4e5` (mcpp
1313
2026.9.13.1), the version the issue measured against. §0 classifies the ten
@@ -420,7 +420,7 @@ application inherits it through the ordinary dependency edge:
420420
```toml
421421
[target.'cfg(os = "ios")'.dependencies]
422422
llvm.libcxx = "22.1.8.1"
423-
llvm.compiler-rt-builtins = "22.1.8.4"
423+
llvm.compiler-rt-builtins = "22.1.8.5"
424424
```
425425

426426
An application without a framework writes the same three lines. The two
@@ -556,7 +556,7 @@ the engine's part is measured first:
556556
| `llvm.libcxx` 22.1.8.1: libc++ and libc++abi sources at `llvmorg-22.1.8`, generated configuration and module sources, manifest, examples, CI on Linux and on the iOS simulator | new repository `mcpplibs/libcxx` | one package |
557557
| index entry, GitHub and GitCode release assets | `mcpp-index`, `mcpp-res` | one PR, one release |
558558
| `cxxFromGraph` at the four sites, `-femulated-tls` narrowed, the older and current capability spellings, the SDK-header fallback, the builtins refusal, tests | mcpp | part of the batch PR |
559-
| the Apple source selection (22.1.8.4) | `mcpplibs/compiler-rt-builtins` | one PR, one release, one index entry |
559+
| the Apple source selection (22.1.8.5) | `mcpplibs/compiler-rt-builtins` | one PR, one release, one index entry |
560560
| `docs/20` iOS rows and `docs/22`; the 2026-09-11 record's table gains a superseded note pointing here | mcpp docs | text |
561561

562562
The order between the repositories is the one every package-plus-engine
@@ -822,11 +822,11 @@ that none is left half done when its neighbour ships.
822822
| T5 | `needed_names` for Mach-O (thin and fat), `@rpath` resolution, Mach-O row of `is_system_lib`; unit tests with checked-in Mach-O fixtures; the macOS e2e | mcpp | T4 | §4.3 |
823823
| T6 | tool store: `git` keyed by commit, `path` never a hit; `upstreamKeys` per source kind; e2e in both directions with `examples/12` | mcpp | - | §7.3 |
824824
| T7 | `llvm.libcxx` 22.1.8.1: repository, sources at `llvmorg-22.1.8`, generated configuration and module sources, manifest, examples, CI (Linux with `llvm@22.1.8`; macOS runner for `aarch64-ios-sim`) | `mcpplibs/libcxx` (new) | - | §5.4 |
825-
| T7b | `llvm.compiler-rt-builtins` 22.1.8.4: the Apple source selection under `cfg(os = "ios")` and `cfg(os = "macos")`; CI on a macOS runner | `mcpplibs/compiler-rt-builtins` | - | §5.4 |
825+
| T7b | `llvm.compiler-rt-builtins` 22.1.8.5: the Apple source selection under `cfg(os = "ios")` and `cfg(os = "macos")`; CI on a macOS runner | `mcpplibs/compiler-rt-builtins` | - | §5.4 |
826826
| T8 | engine: `cxxFromGraph` at the four sites; `-femulated-tls` narrowed; both capability spellings; SDK-header fallback and the std-module diagnostic; the unsupplied compiler-runtime degradation; Linux e2e with T7 by `git`; iOS CI fixture declares T7 and T7b | mcpp | T7, T7b | §5.4 |
827827
| T9 | route by artifact form: an `app` whose artifact is a shared object takes the library route's several triples; `lib/<abi>/` staging; e2e on the Android rows | mcpp | - | §9 |
828828
| T10 | docs: `docs/05` (T3), `docs/20` and `docs/22` iOS rows (T8), `docs/30` stage manifest field (T4), zh mirrors; the 2026-09-11 record's superseded note | mcpp | T3, T4, T8 | structure and parity checks |
829-
| T11 | `mcpp-index`: `llvm.libcxx` entry and the `llvm.compiler-rt-builtins` 22.1.8.4 entry (GitHub and GitCode assets); `mcpp-res` releases | `mcpp-index`, `mcpp-res` | T7, T7b | index `latest` names them; sandbox install |
829+
| T11 | `mcpp-index`: `llvm.libcxx` entry and the `llvm.compiler-rt-builtins` 22.1.8.5 entry (GitHub and GitCode assets); `mcpp-res` releases | `mcpp-index`, `mcpp-res` | T7, T7b | index `latest` names them; sandbox install |
830830
| T12 | `mcpp:plugins`: `dist-apple` places the staged tree's deployed files at the bundle's resource destination | `mcpp-plugins` | T4 released | the `.app` carries the deployed file |
831831
| T13 | release mcpp; bump the workspace pin; GitCode assets by `gtc`; index bump PR | mcpp, `mcpp-index` | T1-T10 merged, CI green | `origin/main` HEAD run green; sandbox `mcpp --version` |
832832
| T14 | sandbox verification with `xlings subos … --sandbox --cmd`, CN mirror configured for both tools: T3 warning, T6 rebuild, T8 Linux program, T2 descriptor, T1 silence | sandbox | T11, T13 | one ok/FAILED line per claim |
@@ -839,7 +839,7 @@ release; T13 to T15 are sequential.
839839
**Progress (2026-09-13, evening).** T1 to T8 and T10 are on the batch branch
840840
(mcpp-community/mcpp#631). T7 is published (`mcpplibs/libcxx`, tag
841841
22.1.8.1; GitCode mirror byte-identical). T7b is merged and tagged
842-
(mcpplibs/compiler-rt-builtins#1, 22.1.8.4). T11 is merged and published
842+
(mcpplibs/compiler-rt-builtins#1, 22.1.8.5). T11 is merged and published
843843
(mcpplibs/mcpp-index#408; a program resolving `llvm.libcxx = "22.1.8.1"`
844844
from the index built and ran on Linux). T12 is prepared on a plugins
845845
branch and waits for the release pin. T9, T13, T14 and T15 follow.
@@ -851,13 +851,13 @@ branch and waits for the release pin. T9, T13, T14 and T15 follow.
851851
| 1, 2 | `prepare.cppm`: `ResolvedRecord.sourceRef`/`fromRoot`, the six-row decision at the resolve hit, `dependency/source-override`; `docs/05` en and zh | e2e 661, six cases, on Linux, macOS and Windows shards of #631 |
852852
| 3a | `pack.cppm`: `stage_declared` before the closure, `finish_without_closure`, `closure_unavailable_outcome`; `stage_tree.cppm`: `ClosureStatus` in the manifest; `pipeline.cppm`: the tree is handed over with `closure = not-walked` | e2e 662 (Linux), e2e 666 (macOS: a Mach-O program reaches a dispatched format with the deployed file and `closure = not-walked`; `--format dir` still refuses), unit tests for the outcome function and the manifest |
853853
| 3b | `binfmt.cppm`: `macho_needed` (thin and fat, both byte orders), `resolve_macho_names`, the Mach-O row of `is_system_lib`; `needed_names` dispatches to it. The closure step still reports `not-walked` for Mach-O; bundling waits for the `LC_RPATH` measurement | `test_pack_binfmt` over generated fixtures |
854-
| 4 | `hostflags.cppm`/`flags.cppm`: `cxxFromGraph` and `appleSdkCxxHeaders`; `model.cppm`: `-femulated-tls` only when the C library is the graph's; `prepare.cppm`: both capability spellings, the `-isysroot` on the package std module's command, the `target/cxx-runtime` and `target/compiler-runtime` degradations, `payloadCompilerRuntimeAbsent`; `docs/20` en and zh | e2e 663 on Linux (glibc under `llvm.libcxx`, both directions); `ci-macos-ios` on #631: `aarch64-ios` and `aarch64-ios-sim` build a program that imports `std`, hashes strings, notifies an atomic and takes an availability check, over the two packages, with the report naming `c++-abi libc++ (libcxx@22.1.8.1, graph)` and `compiler-runtime compiler-rt (compiler-rt-builtins@22.1.8.4, graph)`; the first run without `-isysroot` on the std module's command stopped on `mbstate_t`, which is the measurement behind that line |
854+
| 4 | `hostflags.cppm`/`flags.cppm`: `cxxFromGraph` and `appleSdkCxxHeaders`; `model.cppm`: `-femulated-tls` only when the C library is the graph's; `prepare.cppm`: both capability spellings, the `-isysroot` on the package std module's command, the `target/cxx-runtime` and `target/compiler-runtime` degradations, `payloadCompilerRuntimeAbsent`; `docs/20` en and zh | e2e 663 on Linux (glibc under `llvm.libcxx`, both directions); `ci-macos-ios` on #631: `aarch64-ios` and `aarch64-ios-sim` build a program that imports `std`, hashes strings, notifies an atomic and takes an availability check, over the two packages, with the report naming `c++-abi libc++ (libcxx@22.1.8.1, graph)` and `compiler-runtime compiler-rt (compiler-rt-builtins@22.1.8.5, graph)`; the first run without `-isysroot` on the std module's command stopped on `mbstate_t`, which is the measurement behind that line |
855855
| 5 | `toml.cppm`: `min_api_level` in the known list and the message; `test_target_scalar_keys` with the parser's own `body.find` sites as the denominator | e2e 641 case 9 under `--strict` |
856856
| 6 | `tool_store.cppm`: `tree_stamp`; `prepare.cppm`: `DepCacheIdentity.sourceRef`, `source_keyed_version` for the tool and its upstreams; `docs/30`, the examples/12 README and the CI probe restated | e2e 665 (both directions, a store hit when unchanged, `git` by commit), e2e 187 unchanged, `test_tool_store`; the examples job of #631, whose first run measured that the old probe edits the tree it later reads and had to build its probe compiler from a copy |
857857
| 7 | `prepare_inputs.cppm`: `cfgpred::os_only_platforms`; `publisher.cppm`: OS-only selectors fill the platform blocks, the warning says so | `test_cfg_os_only_platform`, `test_xpkg_emit` |
858858
| A9 | `route.cppm`: `accepts_several_targets`; `pipeline.cppm`: `build_extra_android_legs`; `pack.cppm`: `lib/<abi>/` per leg; `triple.cppm`: `android_abi` | e2e 664 on the Android rows (two ABIs in one tree, one triple unchanged, executables refused) |
859859
| A8 | declined; `docs/31` already states the rule | - |
860-
| T7, T7b, T11 | `mcpplibs/libcxx` 22.1.8.1; `mcpplibs/compiler-rt-builtins` 22.1.8.4; index entries | GitHub and GitCode archives byte-identical; a Linux program resolving `llvm.libcxx = "22.1.8.1"` from the published index built and printed `1-2-3`; the builtins package's macOS CI reads six symbols out of the simulator archive |
860+
| T7, T7b, T11 | `mcpplibs/libcxx` 22.1.8.1; `mcpplibs/compiler-rt-builtins` 22.1.8.5; index entries | GitHub and GitCode archives byte-identical; a Linux program resolving `llvm.libcxx = "22.1.8.1"` from the published index built and printed `1-2-3`; the builtins package's macOS CI reads six symbols out of the simulator archive |
861861

862862
Three things the batch measured that the design did not foresee:
863863

.github/workflows/ci-macos-ios.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ jobs:
205205
# carries them.
206206
[target.'cfg(os = "ios")'.dependencies]
207207
llvm.libcxx = { git = "https://github.com/mcpplibs/libcxx.git", tag = "22.1.8.1" }
208-
llvm.compiler-rt-builtins = { git = "https://github.com/mcpplibs/compiler-rt-builtins.git", tag = "22.1.8.4" }
208+
llvm.compiler-rt-builtins = { git = "https://github.com/mcpplibs/compiler-rt-builtins.git", tag = "22.1.8.5" }
209209
210210
# THE RUNNER IS AN ARGV PREFIX AND THE SESSION BELONGS TO A
211211
# PACKAGE. `simctl-run` comes from `xim:apple-simulator-tools`; it
@@ -310,7 +310,7 @@ jobs:
310310
cd /tmp/iostest
311311
grep -E 'c\+\+-abi +libc\+\+ +\(libcxx@22\.1\.8\.1, graph\)' build-sim.log \
312312
|| { echo "FAIL: the report does not name llvm.libcxx as the C++ layer"; exit 1; }
313-
grep -E 'compiler-runtime +compiler-rt +\(compiler-rt-builtins@22\.1\.8\.4, graph\)' build-sim.log \
313+
grep -E 'compiler-runtime +compiler-rt +\(compiler-rt-builtins@22\.1\.8\.5, graph\)' build-sim.log \
314314
|| { echo "FAIL: the report does not name llvm.compiler-rt-builtins as the compiler runtime"; exit 1; }
315315
art=$(ls /tmp/iostest/target/aarch64-ios-sim/*/bin/iostest | head -1)
316316
if otool -L "$art" | grep -q 'libc++'; then

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ libc++ 是否适用」,在 openkal 与原生构建重合,在 iOS 行(SDK 的 C
3232
libc++)分开:引擎把 libc++ 22 的头配到 SDK 的 libc++ 19 上,程序在
3333
`__hash_memory` 处链接失败。现改读 `plan.targetSide.cxx.fromGraph()`;iOS 行的
3434
C++ 运行时与编译器运行时成为图里的源码包(`llvm.libcxx@22.1.8.1`、
35-
`llvm.compiler-rt-builtins@22.1.8.4`,与 `openkal-llvm-runtime` 同一机制,框架
35+
`llvm.compiler-rt-builtins@22.1.8.5`,与 `openkal-llvm-runtime` 同一机制,框架
3636
声明一次、应用继承)。不声明时:不导入 `std` 的程序取 SDK 的头;导入的保留昨天
3737
的搭配并由 prepare 报告一次(`target/cxx-runtime`)点名两行;载荷没有该平台的
3838
builtins 归档时报告一次(`target/compiler-runtime`),从不去 Xcode 里找。

docs/20-toolchains.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,7 @@ the C library and the builtins do on the bare-metal rows:
681681
```toml
682682
[target.'cfg(os = "ios")'.dependencies]
683683
llvm.libcxx = "22.1.8.1" # libc++ and libc++abi as source, with the std module
684-
llvm.compiler-rt-builtins = "22.1.8.4" # __isPlatformVersionAtLeast and the generic routines
684+
llvm.compiler-rt-builtins = "22.1.8.5" # __isPlatformVersionAtLeast and the generic routines
685685
```
686686

687687
A framework declares the two lines once and every application inherits them.

docs/zh/20-toolchains.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ C 库和 builtins 同一做法:
615615
```toml
616616
[target.'cfg(os = "ios")'.dependencies]
617617
llvm.libcxx = "22.1.8.1" # libc++ 与 libc++abi 的源码,带 std 模块
618-
llvm.compiler-rt-builtins = "22.1.8.4" # __isPlatformVersionAtLeast 与通用例程
618+
llvm.compiler-rt-builtins = "22.1.8.5" # __isPlatformVersionAtLeast 与通用例程
619619
```
620620

621621
框架声明一次,每个应用通过依赖边继承。报告把两层都记为图里的,链接行带 `-nostdlib++`,

src/build/prepare.cppm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10824,7 +10824,7 @@ prepare_build(bool print_fingerprint,
1082410824
"its headers, its module and its objects as one release: "
1082510825
"[target.'cfg(os = \"ios\")'.dependencies] "
1082610826
"llvm.libcxx = \"22.1.8.1\" (and "
10827-
"llvm.compiler-rt-builtins = \"22.1.8.4\" beside it)");
10827+
"llvm.compiler-rt-builtins = \"22.1.8.5\" beside it)");
1082810828
}
1082910829
}
1083010830

0 commit comments

Comments
 (0)