This bug is actually in gcc-14, more specifically libquadmath, as they do a misaligned read from args to a float128, which produces the segfault.
It was hidden so far because args was allocated using alloca() which I guess must be naturally aligned, but in 2.39 they removed that in favor of appending those arguments to an existing buffer.
I'm testing the attached patch in a PPA before sending it upstream for review.
This bug is actually in gcc-14, more specifically libquadmath, as they do a misaligned read from args to a float128, which produces the segfault.
It was hidden so far because args was allocated using alloca() which I guess must be naturally aligned, but in 2.39 they removed that in favor of appending those arguments to an existing buffer.
I'm testing the attached patch in a PPA before sending it upstream for review.