[PATCH 5.15.y 0/3] v5.15: fix build with GCC 15

Matthieu Baerts (NGI0) posted 3 patches 3 months, 3 weeks ago
Failed in applying to current master (apply log)
Documentation/process/howto.rst                    | 2 +-
Documentation/translations/it_IT/process/howto.rst | 2 +-
Documentation/translations/ja_JP/howto.rst         | 2 +-
Documentation/translations/ko_KR/howto.rst         | 2 +-
Documentation/translations/zh_CN/process/howto.rst | 2 +-
Documentation/translations/zh_TW/process/howto.rst | 2 +-
arch/parisc/boot/compressed/Makefile               | 2 +-
arch/s390/Makefile                                 | 2 +-
arch/s390/purgatory/Makefile                       | 2 +-
arch/x86/Makefile                                  | 2 +-
arch/x86/boot/compressed/Makefile                  | 2 +-
drivers/firmware/efi/libstub/Makefile              | 2 +-
12 files changed, 12 insertions(+), 12 deletions(-)
[PATCH 5.15.y 0/3] v5.15: fix build with GCC 15
Posted by Matthieu Baerts (NGI0) 3 months, 3 weeks ago
This kernel version doesn't build with GCC 15:

  In file included from include/uapi/linux/posix_types.h:5,
                   from include/uapi/linux/types.h:14,
                   from include/linux/types.h:6,
                   from arch/x86/realmode/rm/wakeup.h:11,
                   from arch/x86/realmode/rm/wakemain.c:2:
  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:30:33: error: 'bool' cannot be defined via 'typedef'
     30 | typedef _Bool                   bool;
        |                                 ^~~~
  include/linux/types.h:30:33: note: 'bool' is a keyword with '-std=c23' onwards
  include/linux/types.h:30:1: warning: useless type name in empty declaration
     30 | typedef _Bool                   bool;
        | ^~~~~~~

I initially fixed this by adding -std=gnu11 in arch/x86/Makefile, then I
realised this fix was already done in an upstream commit, created before
the GCC 15 release and not mentioning the error I had. This is the first
patch.

When I was investigating my error, I noticed other commits were already
backported to v5.15. They were all adding -std=gnu11 in different
Makefiles. In their commit message, they were mentioning 'gnu11' was
picked to use the same as the one from the main Makefile. But this is
not the case in this kernel version. Patch 2 fixes that.

Finally, I noticed the documentation was not correct in this kernel
version: this is because a commit was backported to v5.15 while it was
not supposed to. Patch 3 fixes that.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Alexey Dobriyan (1):
      x86/boot: Compile boot code with -std=gnu11 too

Matthieu Baerts (NGI0) (2):
      arch: back to -std=gnu89 in < v5.18
      Revert "docs/process/howto: Replace C89 with C11"

 Documentation/process/howto.rst                    | 2 +-
 Documentation/translations/it_IT/process/howto.rst | 2 +-
 Documentation/translations/ja_JP/howto.rst         | 2 +-
 Documentation/translations/ko_KR/howto.rst         | 2 +-
 Documentation/translations/zh_CN/process/howto.rst | 2 +-
 Documentation/translations/zh_TW/process/howto.rst | 2 +-
 arch/parisc/boot/compressed/Makefile               | 2 +-
 arch/s390/Makefile                                 | 2 +-
 arch/s390/purgatory/Makefile                       | 2 +-
 arch/x86/Makefile                                  | 2 +-
 arch/x86/boot/compressed/Makefile                  | 2 +-
 drivers/firmware/efi/libstub/Makefile              | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
---
base-commit: 06cf22cc87e00b878c310d5441981b7750f04078
change-id: 20251017-v5-15-gcc-15-5ceda8ebe577

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>