From 1e6ee420f73fe5eea040f24ef7efb417c5eeb3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Tue, 9 Jun 2026 23:15:22 +0200 Subject: [PATCH 1/2] ci: update libc-test to b95fe84 --- ci/x86_64-linux-debug-llvm.sh | 2 +- ci/x86_64-linux-release.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/x86_64-linux-debug-llvm.sh b/ci/x86_64-linux-debug-llvm.sh index 8036ca4ab27031c324d3c604d75d75647ef23f3f..62165825dd95d5a91bfce8db6b4f7352faa3a587 100755 --- a/ci/x86_64-linux-debug-llvm.sh +++ b/ci/x86_64-linux-debug-llvm.sh @@ -51,7 +51,7 @@ stage3-debug/bin/zig build \ stage3-debug/bin/zig build test docs \ --maxrss ${ZSF_MAX_RSS:-0} \ -Dlldb=$HOME/deps/lldb-zig/Debug-7c1090fd46/bin/lldb \ - -Dlibc-test-path=$HOME/deps/libc-test-f2bac77 \ + -Dlibc-test-path=$HOME/deps/libc-test-b95fe84 \ -fqemu \ --libc-runtimes $HOME/deps/glibc-2.43-musl-1.2.5 \ -fwasmtime \ diff --git a/ci/x86_64-linux-release.sh b/ci/x86_64-linux-release.sh index 4753a1dd61123f3e7ffb3b63d8023e092b375ae2..88ecf213f6e820559b1d0054fd11b324b9c1bc5e 100755 --- a/ci/x86_64-linux-release.sh +++ b/ci/x86_64-linux-release.sh @@ -59,7 +59,7 @@ stage3-release/bin/zig build \ stage3-release/bin/zig build test docs \ --maxrss ${ZSF_MAX_RSS:-0} \ -Dlldb=$HOME/deps/lldb-zig/Release-7c1090fd46/bin/lldb \ - -Dlibc-test-path=$HOME/deps/libc-test-f2bac77 \ + -Dlibc-test-path=$HOME/deps/libc-test-b95fe84 \ -fqemu \ --libc-runtimes $HOME/deps/glibc-2.43-musl-1.2.5 \ -fwasmtime \ -- 2.54.0 From 1af28aebd7385104d31f8a7e5e307600b97cad5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Thu, 11 Jun 2026 17:33:01 +0200 Subject: [PATCH 2/2] musl, wasi-libc: apply Rich Felker's floatscan.c patch fixing strtod() rounding https://www.openwall.com/lists/musl/2026/05/21/3 --- lib/libc/musl/src/internal/floatscan.c | 2 +- lib/libc/wasi/libc-top-half/musl/src/internal/floatscan.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/musl/src/internal/floatscan.c b/lib/libc/musl/src/internal/floatscan.c index 8c0828fcb39e6e0e742309913eef1aa955e582e5..b15366b685e9757d56b3c41d5caf7a69c4682d35 100644 --- a/lib/libc/musl/src/internal/floatscan.c +++ b/lib/libc/musl/src/internal/floatscan.c @@ -347,7 +347,7 @@ static long double hexfloat(FILE *f, int bits, int emin, int sign, int pok) else d = c-'0'; if (dc<8) { x = x*16 + d; - } else if (dc < LDBL_MANT_DIG/4+1) { + } else if (dc < (LDBL_MANT_DIG+3)/4+1) { y += d*(scale/=16); } else if (d && !gottail) { y += 0.5*scale; diff --git a/lib/libc/wasi/libc-top-half/musl/src/internal/floatscan.c b/lib/libc/wasi/libc-top-half/musl/src/internal/floatscan.c index ec50fe0765046a04a8757bb7114f8ed530a6ed09..4cc6059f438e4368da315a13f12988f0ea1ec3f2 100644 --- a/lib/libc/wasi/libc-top-half/musl/src/internal/floatscan.c +++ b/lib/libc/wasi/libc-top-half/musl/src/internal/floatscan.c @@ -388,7 +388,7 @@ static long double hexfloat(FILE *f, int bits, int emin, int sign, int pok) else d = c-'0'; if (dc<8) { x = x*16 + d; - } else if (dc < LDBL_MANT_DIG/4+1) { + } else if (dc < (LDBL_MANT_DIG+3)/4+1) { y += d*(scale/=16); } else if (d && !gottail) { y += 0.5*scale; -- 2.54.0