Re: [PATCH] s390: Add '-std=gnu11' to decompressor and purgatory CFLAGS

From: Alexander Gordeev
Date: Thu Jan 23 2025 - 05:40:58 EST


On Wed, Jan 22, 2025 at 07:54:27PM -0700, Nathan Chancellor wrote:
> GCC changed the default C standard dialect from gnu17 to gnu23,
> which should not have impacted the kernel because it explicitly requests
> the gnu11 standard in the main Makefile. However, there are certain
> places in the s390 code that use their own CFLAGS without a '-std='
> value, which break with this dialect change because of the kernel's own
> definitions of bool, false, and true conflicting with the C23 reserved
> keywords.
>
> include/linux/stddef.h:11:9: error: cannot use keyword 'false' as enumeration constant
> 11 | false = 0,
> | ^~~~~
> include/linux/stddef.h:11:9: note: 'false' is a keyword with '-std=c23' onwards
> include/linux/types.h:35:33: error: 'bool' cannot be defined via 'typedef'
> 35 | typedef _Bool bool;
> | ^~~~
> include/linux/types.h:35:33: note: 'bool' is a keyword with '-std=c23' onwards
>
> Add '-std=gnu11' to the decompressor and purgatory CFLAGS to eliminate
> these errors and make the C standard version of these areas match the
> rest of the kernel.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
...
> ---
> arch/s390/Makefile | 2 +-
> arch/s390/purgatory/Makefile | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)

Applied, thanks!