On Tue, Jan 25, 2022 at 9:47 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
On Tue, Jan 25, 2022 at 8:31 AM <noreply@xxxxxxxxxxxxxx> wrote:
FAILED linux-next/m68k-allmodconfig/m68k-gcc8 Tue Jan 25, 18:24
http://kisskb.ellerman.id.au/kisskb/buildresult/14688953/
Commit: Add linux-next specific files for 20220125
d25ee88530253138d0b20d43511ca5acbda4e9f7
Compiler: m68k-linux-gcc (GCC) 8.1.0 / GNU ld (GNU Binutils) 2.30
Possible errors
---------------
arch/m68k/include/asm/bitops.h:329:20: error: array subscript 2 is above array bounds of 'long unsigned int[1]' [-Werror=array-bounds]
cc1: all warnings being treated as errors
make[4]: *** [scripts/Makefile.build:289: drivers/net/ipa/ipa_mem.o] Error 1
make[3]: *** [scripts/Makefile.build:572: drivers/net/ipa] Error 2
make[2]: *** [scripts/Makefile.build:572: drivers/net] Error 2
make[1]: *** [Makefile:1965: drivers] Error 2
make: *** [Makefile:226: __sub-make] Error 2
No warnings found in log.
The code that causes this is drivers/net/ipa/ipa_mem.c:ipa_mem_valid():
DECLARE_BITMAP(regions, IPA_MEM_COUNT) = { };
...
for_each_clear_bit(mem_id, regions, IPA_MEM_COUNT) {
if (ipa_mem_id_required(ipa, mem_id))
dev_err(dev, "required memory region %u missing\n",
mem_id);
}
This only happens with gcc-8, not with gcc-9, so it might be a
compiler bug. I don't see anything wrong with c:ipa_mem_valid()
nor with m68k's find_first_zero_bit().
I've seen problems with warnings like this when gcc only partially
inlines one of the functions. Does it go away if you mark find_next_bit()
and find_first_bit() as __always_inline?
Arnd