On Fri, Aug 27, 2021 at 10:50 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > Hi Masahiro, > > On Fri, 27 Aug 2021 09:52:18 +0900 Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > > > On Thu, Aug 26, 2021 at 6:13 PM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > > > > After merging the kbuild tree, today's linux-next build (x86_64 > > > allnoconfig) failed like this: > > > > > > make[2]: *** No rule to make target 'scripts/mod/empty.o', needed by '__build'. > > > > > > Caused by commit > > > > > > 624a912f84bc ("kbuild: detect objtool changes correctly and remove .SECONDEXPANSION") > > > > > > (at least, reverting that commit fixes it) > > > > > > I use a separate object directory and, in this case, it is newly created. > > > > > > A build with V=1 and -s removed (and no -j) gives this around the > > > failure: > > > > > > make -f /home/sfr/next/next/scripts/Makefile.build obj=scripts/mod > > > make[2]: *** No rule to make target 'scripts/mod/empty.o', needed by '__build'. Stop. > > > make[1]: *** [/home/sfr/next/next/Makefile:1309: prepare0] Error 2 > > > > > > I have reverted that commit for today. > > > > > > Hmm, it is strange. > > > > > > I re-applied that commit based on today's linux-next > > (git cherry-pick 624a912f84bc) > > > > allnoconfig built successfully. > > > > > > My build log is as follows. > > > > Can you tell the exact steps to reproduce the error? > > > > > > > > masahiro@grover:~/ref/linux-next$ git log -2 --oneline > > 5046c6516ca2 (HEAD -> tmp) kbuild: detect objtool changes correctly > > and remove .SECONDEXPANSION > > 88fac11862d3 (tag: next-20210826, origin/master, origin/HEAD) Add > > linux-next specific files for 20210826 > > masahiro@grover:~/ref/linux-next$ rm -rf /tmp/foo > > masahiro@grover:~/ref/linux-next$ make O=/tmp/foo allnoconfig all > > I did more or less the same: > > $ rm -rf ../x86_64_allnoconfig > $ mkdir ../x86_64_allnoconfig > $ make ARCH=x86_64 O=../x86_64_allnoconfig CROSS_COMPILE=x86_64-linux-gnu- allnoconfig > $ make V=1 ARCH=x86_64 O=../x86_64_allnoconfig CROSS_COMPILE=x86_64-linux-gnu- -O > > I do cross builds hosted on a PowerPC LE host. > > -- > Cheers, > Stephen Rothwell Ah, OK. Now I understood what was happening. scripts/mod/ is built before objtool, so the dependency is not met. I was previously not able to reproduce it because a stale objtool was remaining in my source tree. 'make clean' cannot clean up objtool. I will fix it by tomorrow's linux-next. -- Best Regards Masahiro Yamada