This is most probably not an arch specific issue. And does not concern arch official linux, as arch official linux does not have CONFIG_WERROR=y. Hopefully, the linux kerenl people can better fix the following. It could be it is already fixed. I managed to sweep it under the rug with 29c29 < CONFIG_WERROR=y --- > # CONFIG_WERROR is not set My point is I used to have CONFIG_WERROR=y in the linux .config file for some time. It could be that until the gcc 11.2.0-4 -> 12.1.0-1 upgrade, the following was partially, or fully, over looked by the compilation process. But it could also be that the source was somewhat changed lately. Or that there are other issues involved, which I am not aware of. The following is with 5.17.7-arch1 source, and CONFIG_WERROR=y. CC drivers/acpi/acpica/utdebug.o drivers/acpi/acpica/utdebug.c: In function 'acpi_ut_init_stack_ptr_trace': drivers/acpi/acpica/utdebug.c:40:38: error: storing the address of local variable 'current_sp' in 'acpi_gbl_entry_stack_pointer' [-Werror=dangling-pointer=] 40 | acpi_gbl_entry_stack_pointer = ¤t_sp; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ drivers/acpi/acpica/utdebug.c:38:19: note: 'current_sp' declared here 38 | acpi_size current_sp; | ^~~~~~~~~~ In file included from ./include/acpi/acpi.h:31, from drivers/acpi/acpica/utdebug.c:12: drivers/acpi/acpica/acglobal.h:196:26: note: 'acpi_gbl_entry_stack_pointer' declared here 196 | ACPI_GLOBAL(acpi_size *, acpi_gbl_entry_stack_pointer); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/acpi/acpixf.h:45:21: note: in definition of macro 'ACPI_GLOBAL' 45 | extern type name | ^~~~ cc1: all warnings being treated as errors make[3]: *** [scripts/Makefile.build:288: drivers/acpi/acpica/utdebug.o] Error 1 make[2]: *** [scripts/Makefile.build:550: drivers/acpi/acpica] Error 2 make[1]: *** [scripts/Makefile.build:550: drivers/acpi] Error 2 make: *** [Makefile:1831: drivers] Error 2 ==> ERROR: A failure occurred in build(). Aborting... Without CONFIG_WERROR=y, compilation continues, since the lines beginning at cc1: all warnings being treated as errors are avoided. Which is expected. -- u34