Re: Compile problems w/gcc 9.4.0 in linux-next

From: Ingo Molnar
Date: Tue Mar 25 2025 - 18:05:58 EST



* Nick Terrell <terrelln@xxxxxxxx> wrote:

>
>
> > On Mar 25, 2025, at 6:18 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > >
> >
> > * Nick Terrell <terrelln@xxxxxxxx> wrote:
> >
> >>
> >>
> >>> On Mar 21, 2025, at 8:16 AM, Michael Kelley <mhklinux@xxxxxxxxxxx> wrote:
> >>>
> >>>>
> >>> From: Ingo Molnar <mingo@xxxxxxxxxx> Sent: Friday, March 21, 2025 12:38 AM
> >>>>
> >>>> * Michael Kelley <mhklinux@xxxxxxxxxxx> wrote:
> >>>>
> >>>>>> What are your thoughts as maintainers of lib/zstd?
> >>>>>
> >>>>> FYI, the same segfault occurs with gcc 10.5. The problem is fixed
> >>>>> in gcc 11.4.
> >>>>
> >>>> So the patch below would work this around on GCC9 and GCC10?
> >>>
> >>> I've confirmed that the patch gives a clean compile with gcc 9.4.
> >>>
> >>> Note that I confirmed yesterday that the gcc problem is fixed with
> >>> 11.4. I don't know about earlier gcc 11 minor versions. Lemme see
> >>> if I can get the original gcc 11 release and try that to confirm that
> >>> your patch has the right version cutoff.
> >>
> >> Thanks for the report & proposed fix!
> >>
> >> If you can test gcc-11.0, that would be great, otherwise we could just
> >> cut off at (__GNUC__ >= 12 || (__GNUC__ == 11 && __GNUC_MINOR__ >= 4))
> >>
> >> I am preparing the zstd-v1.5.7 update, and I will pull a patch that
> >> fixes this into my tree. If someone wants to submit a patch I'll pull
> >> that, otherwise I can submit one later today.
> >
> > The proper cutoff would be GCC 11.1, not 11.4, as per the testing of
> > Michael Kelley, right?
>
> Sorry, I didn't quite realize that the [tip: x86/core] was a commit. I'll drop
> my patch, and just make sure that the fix is preserved in the zstd-v1.5.7
> upgrade.

Yeah, the segfault triggered due to changes in the x86 tree, so the fix
(workaround) is now upstream, but I think the cutoff is overly
conservative:

1400c87e6cac ("zstd: Increase DYNAMIC_BMI2 GCC version cutoff from 4.8 to 11.0 to work around compiler segfault")

So it might be a good idea to follow it up with your improved cutoff
patch, as a delta patch on top? That doesn't have any urgency that I
can see, so it can go through your tree, or any other path you'd
prefer!

Thanks,

Ingo