On Mon, Oct 10, 2016 at 02:36:37PM +0200, Arnd Bergmann wrote: > When building with 'make -s' on x86, we always see the output for descending into > the tools/objtool directory when CONFIG_STACK_VALIDATION is set, but we should not > see any output. There are three related problems causing this: > > * we override the MAKEFLAGS variable when entering tools, keeping only > the -j and --j% options around when we should also propagate the -s > flag (for some make versions) as well as the 's' character in the first > word of the variable. > > * The build system in tools/build/Makefile.build that is used for some > parts of the build process of objtool implements the same > logic as the normal kbuild, using 'quiet_$(cmd)' to indicate the > string that should be printed, but lacks the logic to skip that > when building with 'make -s'. > > * The /other/ build system in tools/scripts/Makefile.include that is also > used for building objtool checks for the 's' flag in the beginning of > the first word of Makeflags, which works for GNU make 3.x, but not for > GNU make 4.x, which has it in the end of that word. > > This changes all three of the above to behave just like Kbuild does, > and print no output with 'make -s' regardless of the version of that > tool, but otherwise behaves as before. In case of > tools/scripts/Makefile.include, I decided to use an identical > conditional block to set the $(quiet) variable for consistency, > even though it is not used in the same way. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > Makefile | 5 +++-- > tools/build/Makefile.build | 10 ++++++++++ > tools/scripts/Makefile.include | 12 +++++++++++- > 3 files changed, 24 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index d5289117360b..3638bb27ba2c 100644 > --- a/Makefile > +++ b/Makefile > @@ -1612,11 +1612,12 @@ image_name: > # Clear a bunch of variables before executing the submake > tools/: FORCE > $(Q)mkdir -p $(objtree)/tools > - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ > + echo MAKEFLAGS=\""$(MAKEFLAGS)"\" I think this echo wasn't meant to be left in? Otherwise it seems to work for me. -- Josh -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html