diff --git a/README.md b/README.md index 32c2297..eefd958 100644 --- a/README.md +++ b/README.md @@ -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.]`, for example `[target.'cfg(platform = "openkal")'.layers] "c++-abi" = false`, and selects another platform, or none, with `platform = "..."` or `--platform`. diff --git a/mcpp.toml b/mcpp.toml index 1e2dfd9..a798148 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -12,7 +12,7 @@ [package] namespace = "mcpplibs" name = "openkal-platform" -version = "0.24.3" +version = "0.24.4" description = "The platform of ok images (-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"] @@ -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" @@ -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; @@ -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 @@ -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 }