Re: pkg/60059: math/gnumeric 10.0_2025Q4 segfaults on RPi4
"Benny Siegert via gnats" <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.pkgsrc.bugs |
|---|---|
| Message-ID | <[email protected]> |
The following reply was made to PR pkg/60059; it has been noted by GNATS. From: Benny Siegert <[email protected]> To: Ramiro Aceves <[email protected]> Cc: [email protected], [email protected], [email protected], [email protected] Subject: Re: pkg/60059: math/gnumeric 10.0_2025Q4 segfaults on RPi4 Date: Wed, 11 Mar 2026 19:28:46 +0000 (UTC) >> Changing from "long double" to "double" inside >> fmt-fp function in the file >> /usr/pkgsrc/misc/goffice0.10/work/goffice-0.10.60/goffice/math >> fixes de crash. >> >> I do not know how to properly fix it only for aarch64 and if it is a >> proper fix. Thanks, this is actually helpful! At the risk of being flamed to death, I used Gemini to explain the cause of the crash. It suggests that this is a pointer underflow specifically on aarch64, because the calculation of the array size in that function is wrong. It suggests this patch: --- go-dtoa.c +++ go-dtoa.c @@ -227,7 +227,7 @@ if (y) y *= 0x1p28, e2-=28; if (e2<0) a=r=z=big; - else a=r=z=big+sizeof(big)/sizeof(*big) - LDBL_MANT_DIG - 1; + else a=r=z=big+sizeof(big)/sizeof(*big) - (LDBL_MANT_DIG+28)/9 - 1; do { *z = y; It also suggests that the code is lifted from musl libc :) Can you try recompiling goffice0.10 with this change? Thanks! -- Benny