]> www.infradead.org Git - users/dwmw2/linux.git/commit
s390: Add '-std=gnu11' to decompressor and purgatory CFLAGS
authorNathan Chancellor <nathan@kernel.org>
Thu, 23 Jan 2025 02:54:27 +0000 (19:54 -0700)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Tue, 28 Jan 2025 08:49:35 +0000 (09:49 +0100)
commit3b8b80e993766dc96d1a1c01c62f5d15fafc79b9
tree9f4d4e3fa815c7e0c468524b598323e682a5049b
parent0a89123deec34698720ccb1a2aba2d7df49076b3
s390: Add '-std=gnu11' to decompressor and purgatory CFLAGS

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@vger.kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Heiko Carstens <hca@linux.ibm.com>
Link: https://lore.kernel.org/r/20250122-s390-fix-std-for-gcc-15-v1-1-8b00cadee083@kernel.org
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/Makefile
arch/s390/purgatory/Makefile