@@ -40,13 +40,13 @@ mcpp run --target x86_64-openkal
4040
4141```
4242 Resolved llvm@23.1.3 → x86_64-openkal → …/xim-x-llvm/23.1.3/bin/clang++
43- the platform's (openkal-platform 0.18 .0), replacing your gcc@16.1.0 — override with `[target.x86_64-openkal] toolchain`
43+ the platform's (openkal-platform 0.24 .0), replacing your gcc@16.1.0 — override with `[target.x86_64-openkal] toolchain`
4444 Target x86_64-openkal → x86_64-unknown-none-elf
45- compiler-runtime compiler-rt (openkal-llvm-runtime@0.16.6 , platform)
46- c-abi musl (openkal-musl@0.22.6 , platform)
47- c++-abi libc++ (openkal-llvm-runtime@0.16.6 , platform)
48- Platform openkal-platform 0.18 .0 (built-in)
49- tools okld, okrun (openkal-tools@0.1.3 , platform)
45+ compiler-runtime compiler-rt (openkal-llvm-runtime@0.19.0 , platform)
46+ c-abi musl (openkal-musl@0.28.0 , platform)
47+ c++-abi libc++ (openkal-llvm-runtime@0.19.0 , platform)
48+ Platform openkal-platform 0.24 .0 (built-in)
49+ tools okld, okprof, okrun (openkal-tools@0.5.0 , platform)
5050 runner okrun (platform)
5151 link lld, start ok_main (platform)
5252 Compiling app v0.1.0 (.)
@@ -113,9 +113,9 @@ The first of these that answers selects the target's platform:
113113
114114| Source | Spelling |
115115| ---| ---|
116- | the command line | ` --platform openkal-platform@0.23.3 ` , ` --platform path:../openkal-platform ` , ` --platform none ` |
116+ | the command line | ` --platform openkal-platform@0.24.0 ` , ` --platform path:../openkal-platform ` , ` --platform none ` |
117117| the environment | ` MCPP_TARGET_X86_64_OPENKAL_PLATFORM=… ` |
118- | the project | ` [target.<selector>] platform = "openkal-platform@0.23.3 " ` , or ` { path = "…" } ` |
118+ | the project | ` [target.<selector>] platform = "openkal-platform@0.24.0 " ` , or ` { path = "…" } ` |
119119| this machine | the same key in ` ~/.mcpp/config.toml ` |
120120| the target table | the platform column (` mcpp toolchain list ` ) |
121121
@@ -129,11 +129,11 @@ its own conventions. `[host] platform` selects a platform for them instead:
129129
130130``` toml
131131[host ]
132- platform = " openkal-platform@0.23.3 "
132+ platform = " openkal-platform@0.24.0 "
133133```
134134
135135```
136- Host platform openkal-platform 0.18 .0 (mcpp.toml:2): build programs are x86_64-openkal images run by okrun
136+ Host platform openkal-platform 0.24 .0 (mcpp.toml:2): build programs are x86_64-openkal images run by okrun
137137```
138138
139139Every build program then compiles as an ok image of this machine's
@@ -151,7 +151,7 @@ implementation:
151151
152152``` toml
153153[target .'cfg(any(linux, macos, windows))' ]
154- platform = " openkal-platform@0.23.3 "
154+ platform = " openkal-platform@0.24.0 "
155155```
156156
157157On Windows the arrangement is the GNU ABI's row (` --target x86_64-windows-gnu ` );
@@ -165,12 +165,12 @@ packages pin one another exactly. A graph that holds another version of one of
165165them is refused before anything compiles:
166166
167167```
168- error: openkal-musl 0.22.2 is in this build, and the platform openkal-platform 0.18 .0 is a version group that names openkal-musl 0.22.9 .
168+ error: openkal-musl 0.22.2 is in this build, and the platform openkal-platform 0.24 .0 is a version group that names openkal-musl 0.28.0 .
169169 requested by: own
170170 The family's packages pin one another exactly, so two versions of one of
171171 them cannot be linked into one program. Either select the platform release
172172 of that version ([target.<selector>] platform = "openkal-platform@<version>"), or write
173- openkal-musl = "0.22.6 " where it is requested.
173+ openkal-musl = "0.28.0 " where it is requested.
174174```
175175
176176A package taken from a directory or a repository is not bound by the group.
@@ -184,39 +184,40 @@ abridged:
184184[package ]
185185namespace = " mcpplibs"
186186name = " openkal-platform"
187- version = " 0.18 .0"
188- mcpp = " >=2026.10.30 .1"
187+ version = " 0.24 .0"
188+ mcpp = " >=2026.11.3 .1"
189189
190190[platform ]
191191targets = [" x86_64-openkal" , " aarch64-openkal" ]
192192toolchain = " llvm@23.1.3"
193- runner = { cmd = [" okrun" , " {}" ], host = " same-arch" }
194- carrier = { package = " openkal-run@0.1.3 " , section = " .oke" , main = " carrier/main.cpp" }
193+ runner = { cmd = [" okrun" , " {}" ], host = " same-arch" , hosts = [ " linux-x86_64 " , " linux-aarch64 " , " macos-aarch64 " , " windows-x86_64 " ] }
194+ carrier = { package = " openkal-run@0.5.0 " , section = " .oke" , main = " carrier/main.cpp" }
195195plugin = " build.mcpp"
196196
197197[platform .layers ]
198- compiler-runtime = " openkal-llvm-runtime@0.16.6 "
199- "c++-abi" = " openkal-llvm-runtime@0.16.6 "
200- c-abi = { name = " openkal-musl" , version = " 0.22.6 " , default-features = false , features = [" posix" ] }
198+ compiler-runtime = " openkal-llvm-runtime@0.19.0 "
199+ "c++-abi" = " openkal-llvm-runtime@0.19.0 "
200+ c-abi = { name = " openkal-musl" , version = " 0.28.0 " , default-features = false , features = [" posix" , " malloc-mimalloc " ] }
201201
202202[platform .tools ]
203- okld = " openkal-tools@0.1.3"
204- okrun = " openkal-tools@0.1.3"
203+ okld = " openkal-tools@0.5.0"
204+ okprof = " openkal-tools@0.5.0"
205+ okrun = " openkal-tools@0.5.0"
205206
206207[platform .build ]
207- cxxflags = [" -fPIC" , " -femulated-tls" , " -fvisibility=hidden" , " -fasynchronous-unwind-tables" ]
208+ cxxflags = [" -fPIC" , " -femulated-tls" , " -fvisibility=hidden" , " -fasynchronous-unwind-tables" , " -Xclang " , " -fstack-clash-protection " , " -ffunction-sections " , " -fdata-sections " , " -fno-omit-frame-pointer " , " -mno-omit-leaf-frame-pointer " , " -fstack-protector-strong " , " -mstack-protector-guard=global " , " -ftrivial-auto-var-init=zero " , " -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST " ]
208209
209210[platform .build .'cfg(arch = "aarch64")' ]
210- cxxflags = [" -ffixed-x18" , " -mno-outline-atomics" ]
211+ cxxflags = [" -ffixed-x18" , " -mno-outline-atomics" , " -mbranch-protection=pac-ret+bti " ]
211212
212213[platform .link ]
213214driver = " lld"
214215start = " ok_main"
215- flags = [" -shared" , " -z" , " max-page-size=65536" , " -z" , " now" , " -- gc-sections" , " --icf=safe" , " --eh-frame-hdr" ]
216+ flags = [" -shared" , " -z" , " max-page-size=65536" , " -z" , " pack-relative-relocs " , " -z " , " now" , " -z " , " noexecstack " , " --hash-style=both " , " -- gc-sections" , " --icf=safe" , " --eh-frame-hdr" , " --build-id=sha1 " , " --emit-relocs " , " -mllvm " , " -emulated-tls " ]
216217inputs = [{ from = [" okld" , " note-source" ], as = " ok-notes.S" }]
217218exe = " {name}.oke"
218219shared = " lib{name}.okso"
219- seal = [[" okld" , " note" , " {}" ], [" okld" , " check" , " {}" , " --with" , " {needed}" ]]
220+ seal = [[" okld" , " note" , " {}" ], [" okld" , " place " , " {} " ], [ " okld " , " check" , " {}" , " --with" , " {needed}" ]]
220221```
221222
222223- ** Programs are named, not located.** ` okld ` in ` inputs ` and ` seal ` is found among
0 commit comments