[arch-general] A tiny linux 5.17.7-arch1 compilation issue with a custom config

u34 at net9.ga u34 at net9.ga
Sun May 15 16:06:12 UTC 2022


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 = &current_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


More information about the arch-general mailing list