From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751598AbcJJTvK (ORCPT ); Mon, 10 Oct 2016 15:51:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56438 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751423AbcJJTvJ (ORCPT ); Mon, 10 Oct 2016 15:51:09 -0400 Date: Mon, 10 Oct 2016 14:49:27 -0500 From: Josh Poimboeuf To: Arnd Bergmann Cc: Michal Marek , Arnaldo Carvalho de Melo , Masahiro Yamada , Jiri Olsa , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] kbuild: honor '-s' option for tools/* Message-ID: <20161010194927.haq5eqwjuzujvjb6@treble> References: <20161010123812.1425903-1-arnd@arndb.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20161010123812.1425903-1-arnd@arndb.de> User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Mon, 10 Oct 2016 19:49:29 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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