Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ openkal-windows, where the linker's default was 1 MiB (an image recursing deeply
on its main thread, clangd.okb with `--sync` over the MSVC headers, overflowed
it on Windows; openkal-image#32).

Platform 0.24.4 changes one member: openkal-image 0.5.3, whose runner enters an
image in its convention's floating-point state (openkal SPEC 12.2): the x87 at
extended precision and MXCSR 0x1F80 on x86-64, FPCR zero on AArch64. A thread of
Windows begins with the x87 at double precision, under which openkal-musl's
`strtod("0.4")` read `0x1.99999999998p-2` (openkal-image#33).

A project overrides any group under `[target.<selector>]`, for example
`[target.'cfg(platform = "openkal")'.layers] "c++-abi" = false`, and selects
another platform, or none, with `platform = "..."` or `--platform`.
Expand Down
21 changes: 11 additions & 10 deletions mcpp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
[package]
namespace = "mcpplibs"
name = "openkal-platform"
version = "0.24.3"
version = "0.24.4"
description = "The platform of ok images (<arch>-openkal): their toolchain, C library and C++ run-time, tools, compile and link conventions, seal, runner and carrier, as one versioned statement mcpp reads."
license = "Apache-2.0"
authors = ["mcpplibs"]
Expand All @@ -28,7 +28,7 @@ toolchain = "llvm@23.1.3"
runner = { cmd = ["okrun", "{}"], host = "same-arch", hosts = ["linux-x86_64", "linux-aarch64", "macos-aarch64", "windows-x86_64"] }
# `mcpp pack --mode self-contained`: a program of the packing machine that
# carries the image in a section and runs it through libokrun (M3).
carrier = { package = "openkal-run@0.5.2", section = ".oke", main = "carrier/main.cpp" }
carrier = { package = "openkal-run@0.5.3", section = ".oke", main = "carrier/main.cpp" }
# The `okb` package format (`mcpp pack --pkg-format okb`): the images of every
# architecture as one file okrun runs (openkal-image docs/okb.md).
plugin = "build.mcpp"
Expand All @@ -49,9 +49,9 @@ c-abi = { name = "openkal-musl", version = "0.28.1", default-features
# order of a start's first executions, which a producer lays its code out by
# and writes as the touch note).
[platform.tools]
okld = "openkal-tools@0.5.2"
okrun = "openkal-tools@0.5.2"
okprof = "openkal-tools@0.5.2"
okld = "openkal-tools@0.5.3"
okrun = "openkal-tools@0.5.3"
okprof = "openkal-tools@0.5.3"

# Every unit of an image (SPEC 12.2):
# -fPIC the image is ET_DYN and has no text relocation;
Expand Down Expand Up @@ -197,7 +197,8 @@ c-abi = { name = "openkal-musl", version = "0.28.1", default-features
# openkal-llvm-runtime 0.19.2 keeps the volume of a name it normalizes or
# appends a rooted name to, the first group released as a leaf and a patch of
# this group through one index change; 0.24.3: openkal-image 0.5.2 reserves a
# thread's stack for an image's main thread on Windows):
# thread's stack for an image's main thread on Windows; 0.24.4: openkal-image
# 0.5.3 enters an image in its convention's floating-point state):
# one version of each in a build. From 0.24.1 the members name one another by
# compatible ranges (`^0.28.0`) and this group chooses the versions: mcpp
# 2026.11.7.1 resolves within it, and a fix of one member is that member's
Expand All @@ -210,14 +211,14 @@ openkal-macos = "0.22.1"
openkal-windows = "0.20.0"
openkal-musl = "0.28.1"
openkal-llvm-runtime = "0.19.2"
openkal-ld = "0.5.2"
openkal-run = "0.5.2"
openkal-tools = "0.5.2"
openkal-ld = "0.5.3"
openkal-run = "0.5.3"
openkal-tools = "0.5.3"

# The plugin's tool, `okld bundle`, which writes the okb, and its library, the
# provider of a package format (mcpp.plugins.platform).
[build-dependencies]
openkal-tools = { version = "0.5.2", tools = ["okld"] }
openkal-tools = { version = "0.5.3", tools = ["okld"] }

[build-dependencies.mcpp]
plugins = { version = "0.20.0", features = ["plugins-platform"], host-module = true }
Loading