Re: [PATCH] kbuild: Run syncconfig with -s

From: Ingo Molnar
Date: Mon Sep 14 2020 - 08:42:12 EST



* Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:

> On Thu, Aug 20, 2020 at 3:35 PM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > On every kernel build that runs --syncconfig, there's an output of the following line:
> >
> > scripts/kconfig/conf --syncconfig Kconfig
> >
> > This is the only non-platform build message the kbuild system emits that isn't
> > prefixed by at least a space, or is a build warning.
> >
> > Run it under -s - if there's any problem it will emit messages anyway.
> >
> > With this change the following simple grep filter will show all build warnings
> > and errors of a kernel build:
> >
> > make | grep -v '^ '
>
>
>
> I do want to see something when syncconfig is invoked.
>
> I will apply this instead:
> https://patchwork.kernel.org/patch/11727445/

BTW., there's another, rather spurious bug I recently triggered in kbuild.

Occasionally when I Ctrl-C a kernel build on a system with a lot of CPUs,
the .o.cmd file gets corrupted:

mm/.pgtable-generic.o.cmd:5: *** unterminated call to function 'wildcard': missing ')'. Stop.
make: *** [Makefile:1788: mm] Error 2
make: *** Waiting for unfinished jobs....

The .o.cmd file is half-finished:

$(wildcard include/config/shmem.h) \
$(wildcard include/config/hugetlb/page.h) \
$(wildcard include/config/zone/device.h) \
$(wildcard include/config/dev/pagemap/ops.h) \
$(wildcard include/config/device/private.h) \
$(wildcard include/config/pci/p2pdma.h) \
$(wildcard include/config/sparsemem.h) \
$(wildcard include/config/sparsemem/vmemmap.h) \
$(wildcard include/config/numa/balancing.h) \
$(wildcard i
[premature EOF]

Instead of the regular rules that end in:

$(wildcard include/config/memory/hotplug/sparse.h) \

mm/pgtable-generic.o: $(deps_mm/pgtable-generic.o)

$(deps_mm/pgtable-generic.o):
[regular EOF]

Manually removing the corrupted .o.cmd dot file solves the bug.

There's no reproducer other than Ctrl-C-ing large build jobs a couple of times.

Thanks,

Ingo