diff --git a/.github/workflows/openkal-compat.yml b/.github/workflows/openkal-compat.yml index eb6bcee2..0dd7e900 100644 --- a/.github/workflows/openkal-compat.yml +++ b/.github/workflows/openkal-compat.yml @@ -42,7 +42,7 @@ env: # run if this drifts from pins.toml. See the comment beside `mcpp` in # pins.toml for why this pin, not just validate.yml's, is gated by the # index floor. - MCPP_VERSION: "2026.10.31.1" + MCPP_VERSION: "2026.11.2.1" # CROSS-VALIDATION BEFORE A RELEASE, NOT AFTER IT. # # Empty in an ordinary run, so this measurement keeps using the RELEASED diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 7fb176a0..410f6a3c 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -443,7 +443,11 @@ env: # # 2026.10.31.1 (mcpp-community/mcpp#869): `features` in the machine output, # and the floor openkal-platform states since 0.18.0 (2026.10.30.1). - MCPP_VERSION: "2026.10.31.1" + # + # 2026.11.2.1 (mcpp-community/mcpp#882): a dependency's patches and a + # dependency embedded in its consumer -- the floor openkal-musl 0.26.0 + # states, since it embeds compat.mimalloc. + MCPP_VERSION: "2026.11.2.1" jobs: lint: diff --git a/.github/workflows/xpkgindex-update.yml b/.github/workflows/xpkgindex-update.yml index 2ca054a1..dc62300a 100644 --- a/.github/workflows/xpkgindex-update.yml +++ b/.github/workflows/xpkgindex-update.yml @@ -25,7 +25,7 @@ concurrency: env: PYTHONUTF8: '1' - MCPP_VERSION: '2026.10.31.1' + MCPP_VERSION: '2026.11.2.1' # CROSS-VALIDATION BEFORE A RELEASE: a candidate that needs an mcpp newer # than the pin (its package states the floor) is built with mcpp built from # this branch of mcpp-community/mcpp, as openkal-compat.yml measures with it. diff --git a/CHANGELOG.md b/CHANGELOG.md index 516e3e9f..f2d6cd69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,12 @@ ### Added +- **openkal-musl 0.26.0、openkal-llvm-runtime 0.17.0。** openkal-musl 的分配器为嵌入的 mimalloc 3.6.1(`malloc-mimalloc`,默认; + `malloc-mallocng` 保留 musl 自己的),匿名内存建在 `openkal.region` 上,定位读写不持锁,八个字符串函数按向量处理,普通互斥锁按 + glibc 的方式等待。openkal-llvm-runtime 建在其上(裸机选 mallocng),PE 与 Mach-O 上 `thread_local` 的析构读到自己的变量 + (emutls 在最后一轮才释放),并带 L2 的工作负载对比(`bench/`)。测试成员 `openkal-musl`、`openkal` 随之移动。CI 的 mcpp 移到 + 2026.11.2.1:openkal-musl 0.26.0 以 `embed` 嵌入 compat.mimalloc,并陈述 `mcpp >= 2026.11`。GLOBAL 为 GitHub 标签归档,CN 为 + GitCode `mcpp-res` 镜像,sha256 两处一致。 - **mcpplibs.mwrap.mimalloc 3.6.1(新包)。** mimalloc-m:以 C++23 模块(`import mcpplibs.mwrap.mimalloc;`)使用 compat.mimalloc 3.6.1。`` 的函数、堆、arena、子进程、选项与 STL 分配器以上游的全局名导出;`.stats`、`.profile` 两个子模块对应 ``、``;上游的 `static inline` 辅助函数以同名适配在 `mcpplibs::mwrap::mimalloc`;值宏在 diff --git a/pkgs/o/openkal-llvm-runtime.lua b/pkgs/o/openkal-llvm-runtime.lua index 665816ff..5dee1c38 100644 --- a/pkgs/o/openkal-llvm-runtime.lua +++ b/pkgs/o/openkal-llvm-runtime.lua @@ -75,6 +75,13 @@ package = { xpm = { linux = { + ["0.17.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.17.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.17.0/openkal-llvm-runtime-0.17.0.tar.gz", + }, + sha256 = "75d9fb8039de796fe8c447e7ecd6d849a5a343690f10ac08b447e2777f6abc93", + }, ["0.16.15"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.16.15.tar.gz", @@ -413,6 +420,13 @@ package = { }, }, macosx = { + ["0.17.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.17.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.17.0/openkal-llvm-runtime-0.17.0.tar.gz", + }, + sha256 = "75d9fb8039de796fe8c447e7ecd6d849a5a343690f10ac08b447e2777f6abc93", + }, ["0.16.15"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.16.15.tar.gz", @@ -751,6 +765,13 @@ package = { }, }, windows = { + ["0.17.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.17.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-llvm-runtime/releases/download/0.17.0/openkal-llvm-runtime-0.17.0.tar.gz", + }, + sha256 = "75d9fb8039de796fe8c447e7ecd6d849a5a343690f10ac08b447e2777f6abc93", + }, ["0.16.15"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-llvm-runtime/archive/refs/tags/0.16.15.tar.gz", diff --git a/pkgs/o/openkal-musl.lua b/pkgs/o/openkal-musl.lua index 2a2362ab..3630ee70 100644 --- a/pkgs/o/openkal-musl.lua +++ b/pkgs/o/openkal-musl.lua @@ -75,6 +75,13 @@ package = { xpm = { linux = { + ["0.26.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.26.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.26.0/openkal-musl-0.26.0.tar.gz", + }, + sha256 = "4521556c6abb4b928dba2c5b44e30f778a8a5a8bb39c4d55fb5239c7cd30892a", + }, ["0.25.0"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.25.0.tar.gz", @@ -427,6 +434,13 @@ package = { }, }, macosx = { + ["0.26.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.26.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.26.0/openkal-musl-0.26.0.tar.gz", + }, + sha256 = "4521556c6abb4b928dba2c5b44e30f778a8a5a8bb39c4d55fb5239c7cd30892a", + }, ["0.25.0"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.25.0.tar.gz", @@ -779,6 +793,13 @@ package = { }, }, windows = { + ["0.26.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.26.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-musl/releases/download/0.26.0/openkal-musl-0.26.0.tar.gz", + }, + sha256 = "4521556c6abb4b928dba2c5b44e30f778a8a5a8bb39c4d55fb5239c7cd30892a", + }, ["0.25.0"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-musl/archive/refs/tags/0.25.0.tar.gz", diff --git a/tests/examples/openkal-musl/mcpp.toml b/tests/examples/openkal-musl/mcpp.toml index e93b83c0..a5aa0f74 100644 --- a/tests/examples/openkal-musl/mcpp.toml +++ b/tests/examples/openkal-musl/mcpp.toml @@ -8,7 +8,7 @@ name = "openkal-musl-tests" version = "0.1.0" [target.'cfg(os = "linux")'.dependencies.mcpplibs] -openkal-musl = "0.25.0" +openkal-musl = "0.26.0" [target.'cfg(os = "linux")'.build] cxxflags = ["-DHAVE_OPENKAL_MUSL=1"] diff --git a/tests/examples/openkal/mcpp.toml b/tests/examples/openkal/mcpp.toml index 4ab95a54..a224772e 100644 --- a/tests/examples/openkal/mcpp.toml +++ b/tests/examples/openkal/mcpp.toml @@ -30,7 +30,7 @@ openkal-macos = "0.19.0" openkal-windows = "0.17.0" [target.'cfg(all(os = "linux", env = "musl"))'.dependencies.mcpplibs] -openkal-llvm-runtime = "0.16.15" +openkal-llvm-runtime = "0.17.0" [target.'cfg(arch = "wasm32")'.dependencies.mcpplibs] openkal-emscripten = "0.9.0" diff --git a/tests/openkal/pins.toml b/tests/openkal/pins.toml index 4aec63bb..af6714bf 100644 --- a/tests/openkal/pins.toml +++ b/tests/openkal/pins.toml @@ -18,6 +18,8 @@ toolchain = "llvm@22.1.8" # index requires mcpp >= 2026.9.18.1 but this is mcpp 2026.9.17.3 [E0006]" # before a single line of the member's own source is read. # +# 2026-11-02: measurement engine 2026.11.2.1, the workflow's (openkal-musl 0.26.0 +# embeds compat.mimalloc and states mcpp >= 2026.11). The index client floor is unchanged. # 2026-10-30: measurement engine 2026.10.31.1, the workflow's (openkal-platform 0.18.0 and later # state mcpp >= 2026.10.30.1). The index client floor is unchanged. # 2026-10-28: measurement engine 2026.10.27.1, the workflow's (platforms, SPEC-013). @@ -142,7 +144,7 @@ toolchain = "llvm@22.1.8" # openkal-musl 0.16.0 and openkal-llvm-runtime 0.12.0), because a pin that # moves onto an unreachable or divergent asset fails every member at once and # reports it as a compatibility result. -mcpp = "2026.10.31.1" +mcpp = "2026.11.2.1" # The Windows target is named for the C environment the graph presents there, # which is musl's (openkal-musl declares `[c-abi] presents = "posix"`), not