RE: Compile problems w/gcc 9.4.0 in linux-next
From: Michael Kelley
Date: Fri Mar 21 2025 - 11:16:59 EST
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.
Michael
>
> Thanks,
>
> Ingo
>
> ==============>
> lib/zstd/common/portability_macros.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/zstd/common/portability_macros.h b/lib/zstd/common/portability_macros.h
> index 0e3b2c0a527d..0dde8bf56595 100644
> --- a/lib/zstd/common/portability_macros.h
> +++ b/lib/zstd/common/portability_macros.h
> @@ -55,7 +55,7 @@
> #ifndef DYNAMIC_BMI2
> #if ((defined(__clang__) && __has_attribute(__target__)) \
> || (defined(__GNUC__) \
> - && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)))) \
> + && (__GNUC__ >= 11))) \
> && (defined(__x86_64__) || defined(_M_X64)) \
> && !defined(__BMI2__)
> # define DYNAMIC_BMI2 1