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