Re: microblaze fails to to compile with allmodconfig

From: Masahiro Yamada
Date: Fri Sep 15 2017 - 09:07:34 EST


Hi Michal,


2017-09-15 21:17 GMT+09:00 Michal Simek <monstr@xxxxxxxxx>:
> Hi Michal and Geert, +Nicolas and Masahiro
>
> On 14.9.2017 11:19, Geert Uytterhoeven wrote:
>> Hi Michal,
>>
>> On Thu, Sep 14, 2017 at 11:07 AM, Michal Hocko <mhocko@xxxxxxxxxx> wrote:
>>> I've started seeing the following compilation failures with microblaze
>>> with the current linux-next (next-20170913). I have no idea when this
>>> has been introduced but microblaze clearly doesn't have arch specific
>>> kvm_para.h.
>>>
>>> In file included from ./include/linux/kvm_para.h:4:0,
>>> from kernel/watchdog.c:29:
>>> ./include/uapi/linux/kvm_para.h:32:26: fatal error: asm/kvm_para.h: No such file or directory
>>> #include <asm/kvm_para.h>
>>> ^
>>> compilation terminated.
>>> make[1]: *** [kernel/watchdog.o] Error 1
>>> make[1]: *** Waiting for unfinished jobs....
>>>
>>> allyesconfig and allnoconfig compile just fine. Maybe allmodconfig needs
>>> an update?
>
>
> Thanks for reporting this.
>
>>
>> arch/microblaze/include/uapi/asm/Kbuild needs a line
>>
>> generic-y += kvm_para.h
>>
>> ?

Yes.

I think it is the right thing to do.



> tile/arm/alpha/frv/nm10300/hexagon/sparc/score have
> #include <asm-generic/kvm_para.h>
>
> ppc and x86 contain implementation.
>
> s390 and mips are just empty files
>
> Issue was likely introduced by:
> "uapi: export all headers under uapi directories"
> (commit fcc8487d477a3452a1d0ccbdd4c5e0e1e3cb8bed)
>
> Where header-y += kvm_para.h was removed.

No.
Nicolas's commit is innocent.



I think the bad commit is this:


commit 83f0124ad81e87b74c2f461b1794e57ab5e7fea0
Author: Tobias Klauser <tklauser@xxxxxxxxxx>
Date: Fri May 19 13:45:16 2017 +0200

microblaze: remove asm-generic wrapper headers

Some of microblaze's asm and uapi header are merely including their
asm-generic counterpart. Thus, the arch specific headers can be removed
and the asm-generic header can be used directly via generic-y.

The headers removed from uapi don't need to be added to generic-y in the
uapi Kbuild in order to get exported, as they are already listed in
mandatory-y.

Also order the generic-y list alphabetically.

Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx>
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>



It removed
arch/microblaze/include/uapi/asm/kvm_para.h
but, missed to add "generic-y += kvm_para.h"




--
Best Regards
Masahiro Yamada