From cdce056d9ce6b86ec377c0a9790a8f1e9e15f1f7 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Fri, 28 Aug 2026 11:16:57 +0800 Subject: [PATCH] Repin the C library, which now carries a caller's redirection into a spawn openkal-musl 0.6.0 answers three defects reported as openkal-linux#13, and two of them are reachable from a program built above this runtime without that program doing anything unusual. A caller that redirects a standard stream and then starts a program --- with posix_spawn, with system, or with fork and execve --- used to have the started program write to the stream the CALLER had been started with. And abort did not end the program: musl's raise is tkill, the port had no case for it, and abort fell through to musl's own a_crash(), so every uncaught C++ exception over this runtime reported a segmentation fault rather than SIGABRT. The second is this runtime's business directly: libc++abi's terminate handler ends in abort. Nothing in this package changes. 0.3.0 -> 0.3.1 records which C library a consumer resolving this version is handed. --- README.md | 2 +- mcpp.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ace6499f..cac0985f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ C library. ```toml [dependencies] -openkal-llvm-runtime = "0.3.0" +openkal-llvm-runtime = "0.3.1" ``` A C++ standard library is not portable in the way a program is. It is diff --git a/mcpp.toml b/mcpp.toml index ff0e1a38..5134d4c1 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -1,7 +1,7 @@ [package] namespace = "mcpplibs" name = "openkal-llvm-runtime" -version = "0.3.0" +version = "0.3.1" description = "LLVM's C++ runtime libraries — libc++, libc++abi and libunwind — configured for openkal-musl rather than for a host C library." license = "Apache-2.0" authors = ["mcpplibs"] @@ -208,7 +208,7 @@ sources = [ cflags = ["-DDISABLE_AARCH64_FMV=1"] [dependencies] -openkal-musl = "0.5.0" +openkal-musl = "0.6.0" [build] cxx_standard = "c++23"