[Bug ipa/101941] [12 Regression] Linux kernel build failure due to retaining fnsplit fragment with __attribute__((__error__))
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101941 --- Comment #9 from DAC324 --- Bug not assigned - looks like it is considered not important to be able to compile the Linux kernel. Am I correct in the assumption that everybody who wants to build their own kernels, should keep using GCC 11, until further notice?
[Bug ipa/102361] Errors compiling Linux kernel 5.14 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 --- Comment #13 from DAC324 --- Sorry for duplicate reporting. For me, the error message '__write_overflow' declared with attribute error: detected write beyond size of object passed as 1st parameter and its counterpart '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter did not point me to using fnsplit fragment with __attribute__((__error__)) as a correct search term, in the first instance. Please apologize for the inconvenience. Just FYI (although I assume you know this already): With CONFIG_FORTIFY=n, you will be able to build the kernel but it will not run satisfactorily, if able to boot at all.
[Bug c/102361] Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 --- Comment #8 from DAC324 --- This is the first error; if make is used with -j greater than 1, several of those errors occur (see introduction).
[Bug c/102361] Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 --- Comment #7 from DAC324 --- Created attachment 51470 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51470=edit File mm/memcontrol.c saved with -save-temps option (2/2)
[Bug c/102361] Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 --- Comment #6 from DAC324 --- Created attachment 51469 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51469=edit File mm/memcontrol.c saved with -save-temps option
[Bug c/102361] Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 --- Comment #5 from DAC324 --- OK, here we go: make -f ./scripts/Makefile.build obj=mm/kfence \ \ need-builtin=1 \ need-modorder=1 gcc -Wp,-MMD,mm/.memcontrol.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/12.0.0/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=sandybridge -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-clash-protection -g -gdwarf-4 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fplugin=./scripts/gcc-plugins/structleak_plugin.so -fplugin-arg-structleak_plugin-byref-all -DSTRUCTLEAK_PLUGIN -DKBUILD_MODFILE='"mm/memcontrol"' -DKBUILD_BASENAME='"memcontrol"' -DKBUILD_MODNAME='"memcontrol"' -D__KBUILD_MODNAME=kmod_memcontrol -c -o mm/memcontrol.o mm/memcontrol.c In file included from ./include/linux/string.h:262, from ./include/linux/bitmap.h:10, from ./include/linux/cpumask.h:12, from ./arch/x86/include/asm/paravirt.h:17, from ./arch/x86/include/asm/irqflags.h:63, from ./include/linux/irqflags.h:16, from ./include/linux/rcupdate.h:26, from ./include/linux/rculist.h:11, from ./include/linux/pid.h:5, from ./include/linux/sched.h:14, from ./include/linux/cgroup.h:12, from ./include/linux/memcontrol.h:13, from mm/memcontrol.c:29: In function 'memset', inlined from 'uncharge_gather_clear.part.0' at mm/memcontrol.c:6835:2: ./include/linux/fortify-string.h:172:17: error: call to '__write_overflow' declared with attribute error: detected write beyond size of object passed as 1st parameter 172 | __write_overflow(); | ^~ make[1]: *** [scripts/Makefile.build:271: mm/memcontrol.o] Error 1 make: *** [Makefile:1851: mm] Error 2
[Bug c/102361] Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 --- Comment #4 from DAC324 --- Please let me kindly ask you for instructions on how to do that. As described in the introduction, I was trying to compile the Linux kernel from the usual source tarball available on kernel.org. What I did after extracting the sources was: make menuconfig make If I understand correctly, I will have to interrupt the make process to extract a pre-processed source file? Please let me kindly ask for additional guidance. Thank you very much and kind regards.
[Bug c/102361] Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 --- Comment #2 from DAC324 --- Please let me kindly ask you for instructions on how to do that. As described in the introduction, I was trying to compile the Linux kernel from the usual source tarball available on kernel.org. What I did after extracting the sources was: make menuconfig make If I understand correctly, I will have to interrupt the make process to extract a pre-processed source file? Please let me kindly ask for additional guidance. Thank you very much and kind regards.
[Bug c/102361] New: Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102361 Bug ID: 102361 Summary: Errors compiling Linux kernel 5.14.4 with CONFIG_FORTIFY=y Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dac324 at yahoo dot de Target Milestone: --- GCC version: gcc (GCC) 12.0.0 20210910 (experimental) With this version, it is not possible to compile the Linux kernel sources (tested with both 5.14.1 and 5.14.4). Problem is that GCC 12 conflicts with CONFIG_FORTIFY=y. Errors thrown with the 5.14.1 kernel sources: In function 'memset', inlined from 'init_rock_state.part.0' at fs/isofs/rock.c:74:2: ./include/linux/fortify-string.h:172:17: error: call to '__write_overflow' declared with attribute error: detected write beyond size of object passed as 1st parameter 172 | __write_overflow(); | ^~ make[2]: *** [scripts/Makefile.build:271: fs/isofs/rock.o] Error 1 make[1]: *** [scripts/Makefile.build:514: fs/isofs] Error 2 In function 'memcpy', inlined from 'tl_to_darg.part.0' at fs/ext4/fast_commit.c:1295:2: ./include/linux/fortify-string.h:187:25: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter 187 | __read_overflow2(); | ^~ make[2]: *** [scripts/Makefile.build:271: fs/ext4/fast_commit.o] Error 1 make[1]: *** [scripts/Makefile.build:514: fs/ext4] Error 2 Error thrown with the 5.14.4 kernel sources: In Function »memcpy«, inserted from von »tl_to_darg.part.0« bei fs/ext4/fast_commit.c:1295:2: ./include/linux/fortify-string.h:187:25: Error: call to »__read_overflow2« declared with attribute error: detected read beyond size of object passed as 2nd parameter 187 | __read_overflow2(); | ^~ With GCC 11, these errors do not occur. Hence, I must assume that they are related to the compiler version.