Re: pkg/60059: math/gnumeric 10.0_2025Q4 segfaults on RPi4
Benny Siegert <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.pkgsrc.bugs |
|---|---|
| Message-ID | <[email protected]> |
>> 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