Re: Odd build breakage in 4.9-rc7

From: Prarit Bhargava
Date: Wed Nov 30 2016 - 13:51:15 EST




On 11/30/2016 01:36 PM, Linus Torvalds wrote:
> On Wed, Nov 30, 2016 at 10:28 AM, Prarit Bhargava <prarit@xxxxxxxxxx> wrote:
> ]>
>> In my case I tracked this to commit 3637efb00864 ("x86/mce: Add PCI quirks to
>> identify Xeons with machine check recovery") which adds the include for
>> generated/autoksyms.h.
>
> Ok, that at least makes some sense. The other blamed commit did not
> seem to possibly make a difference.
>
>> Searching LKML and I came across a report from Ken Moffat from a month ago:
>>
>> http://marc.info/?l=linux-kernel&m=147794681124332&w=2
>
> Does a "make clean" get rid of it forever? Or does it come back?

It comes back. The steps to reproduce this are:

1. checkout latest linux.git
2. make -j112

(IOW, it occurs 100% of the time for me on a clean tree.)

To work around the bug I have to do

1. checkout latest linux.git
2. comment out the include for generated/autoksyms.h at include/linux/export.h:81
3. compile with -j112

This fails loudly, but then I do

4. uncomment the include for generated/autoksyms.h at include/linux/export.h:81
5. make -j112

and this completes with a bootable kernel AFAICT.

>
> If it's a one-time dependency issue that is because some header
> dependency addition that the automatic dependency generator hadn't
> caught, that might explain a bisection failure too: once the file
> happens to get rebuilt (and the dependencies re-done), it starts
> working even though the "happens to be rebuilt" had nothing to do with
> the original bug.

Hopefully the linux-kbuild folks might be able to point us in the right
direction for a fix.

P.