Re: stable build: 203 builds: 4 failed, 199 passed, 5 errors, 41 warnings (v4.10.1)

From: Josh Poimboeuf
Date: Thu Mar 16 2017 - 13:05:33 EST


On Thu, Mar 16, 2017 at 03:39:36PM +0100, Arnd Bergmann wrote:
> On Thu, Mar 16, 2017 at 2:59 PM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> > On Thu, Mar 16, 2017 at 02:44:45PM +0100, Arnd Bergmann wrote:
> >> On Thu, Mar 16, 2017 at 1:49 PM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> >> > On Thu, Mar 16, 2017 at 09:29:07AM -0300, Arnaldo Carvalho de Melo wrote:
> >> >> Em Wed, Mar 15, 2017 at 02:15:22PM +0100, Arnd Bergmann escreveu:
> >> >> > On Wed, Mar 15, 2017 at 8:22 AM, gregkh <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >> >> > >
> >> >> > > All now queued up in the stable trees, thanks.
> >> >> >
> >> >> > Like 4.9.y it builds clean except for a couple of stack frame size warnings
> >> >> > and this one that continues to puzzle me.
> >> >> >
> >> >> > /bin/sh: 1: /home/buildslave/workspace/kernel-builder/arch/x86/defconfig/allmodconfig+CONFIG_OF=n/label/builder/next/build-x86/tools/objtool//fixdep:
> >> >> > Permission denied
> >> >>
> >> >> Jiri? Josh?
> >> >
> >> > hum, looks like it imight be related to this fix we did for perf:
> >> > abb26210a395 perf tools: Force fixdep compilation at the start of the build
> >> >
> >> > it's forcing fixdep to be build as first.. having it as a simple dependency
> >> > (which AFAICS is objtool case), the make -jX occasionaly raced on high cpu
> >> > servers, and executed unfinished binary, hence the permission fail
> >>
> >> It's probably another variation of this bug, but the commit you cite got merged
> >> into 4.10-rc1, while the problem still persists in mainline (4.11-rc2+).
> >
> > the problem is in objtool build right? the fix was for perf build
>
> Ah, got it. Yes, that must be it then. I supposed we coul duplicate what you
> did for perf in objtool, but a cleaner way would be to generalize it for all of
> tools/, right?

This is a shot in the dark, since I don't have a way to recreate, but
can you try the following patch? This should make sure that objtool
only tries to build fixdep once.


diff --git a/tools/build/Makefile.include b/tools/build/Makefile.include
index ad22e4e..179f4f0 100644
--- a/tools/build/Makefile.include
+++ b/tools/build/Makefile.include
@@ -1,6 +1,8 @@
build := -f $(srctree)/tools/build/Makefile.build dir=. obj

-fixdep:
+fixdep: $(OUTPUT)fixdep
+
+$(OUTPUT)fixdep:
$(Q)$(MAKE) -C $(srctree)/tools/build CFLAGS= LDFLAGS= $(OUTPUT)fixdep

.PHONY: fixdep