Skip to content

gcc15 compile 6.6.y kernel failed #12968

@yihaodong1

Description

@yihaodong1

the error is below

  CC      arch/x86/realmode/rm/wakemain.o
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: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
./include/linux/types.h:35:1: warning: useless type name in empty declaration
   35 | typedef _Bool                   bool;
      | ^~~~~~~
  CC      arch/x86/mm/init.o

I assume that this is because gcc15 use -std=c23 as default, and I use command "make -n -j$(nproc) KCONFIG_CONFIG=Microsoft/config-wsl | sed 's/;/\n/g' | grep gcc |grep -v "std" | less" to find the compile command use default std, and its output is below

make[2]: *** No rule to make target 'vmlinux.a', needed by 'vmlinux.o'.  Stop.
make[1]: *** [/home/dyh/WSL2-Linux-Kernel/Makefile:1150: vmlinux_o] Error 2
make: *** [Makefile:234: __sub-make] Error 2
 { ./scripts/mkcompile_h "x86_64" "gcc (GCC) 15.1.1 20250425" "ld"
 gcc   -o arch/x86/tools/relocs arch/x86/tools/relocs_32.o arch/x86/tools/relocs_64.o arch/x86/tools/relocs_common.o
 printf '%s\n' 'savedcmd_arch/x86/tools/relocs := gcc   -o arch/x86/tools/relocs arch/x86/tools/relocs_32.o arch/x86/tools/relocs_64.o arch/x86/tools/relocs_common.o   ' > arch/x86/tools/.relocs.cmd
make -f ./scripts/Makefile.build obj=scripts/gcc-plugins \
 gcc   -o scripts/genksyms/genksyms scripts/genksyms/genksyms.o scripts/genksyms/parse.tab.o scripts/genksyms/lex.lex.o
 printf '%s\n' 'savedcmd_scripts/genksyms/genksyms := gcc   -o scripts/genksyms/genksyms scripts/genksyms/genksyms.o scripts/genksyms/parse.tab.o scripts/genksyms/lex.lex.o   ' > scripts/genksyms/.genksyms.cmd
            DESTDIR=/home/dyh/WSL2-Linux-Kernel/tools/bpf/resolve_btfids/libsubcmd/ AR="ar" CC="gcc" LD="ld" ARCH="x86" CROSS_COMPILE="" EXTRA_CFLAGS="" prefix= subdir= \
 gcc   -o scripts/mod/modpost scripts/mod/modpost.o scripts/mod/file2alias.o scripts/mod/sumversion.o scripts/mod/symsearch.o
 printf '%s\n' 'savedcmd_scripts/mod/modpost := gcc   -o scripts/mod/modpost scripts/mod/modpost.o scripts/mod/file2alias.o scripts/mod/sumversion.o scripts/mod/symsearch.o   ' > scripts/mod/.modpost.cmd
gcc /home/dyh/WSL2-Linux-Kernel/tools/objtool/objtool-in.o -lelf /home/dyh/WSL2-Linux-Kernel/tools/objtool/libsubcmd/libsubcmd.a   -o /home/dyh/WSL2-Linux-Kernel/tools/objtool/objtool
 gcc   -o drivers/accessibility/speakup/makemapdata drivers/accessibility/speakup/makemapdata.o
 printf '%s\n' 'savedcmd_drivers/accessibility/speakup/makemapdata := gcc   -o drivers/accessibility/speakup/makemapdata drivers/accessibility/speakup/makemapdata.o   ' > drivers/accessibility/speakup/.makemapdata.cmd
 gcc   -o drivers/accessibility/speakup/genmap drivers/accessibility/speakup/genmap.o
 printf '%s\n' 'savedcmd_drivers/accessibility/speakup/genmap := gcc   -o drivers/accessibility/speakup/genmap drivers/accessibility/speakup/genmap.o   ' > drivers/accessibility/speakup/.genmap.cmd

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions