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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.