From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753289AbdEENF4 (ORCPT ); Fri, 5 May 2017 09:05:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34971 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751437AbdEENFz (ORCPT ); Fri, 5 May 2017 09:05:55 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 7EB4781229 Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jpoimboe@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 7EB4781229 Date: Fri, 5 May 2017 08:05:52 -0500 From: Josh Poimboeuf To: hpa@zytor.com Cc: Ingo Molnar , Nick Desaulniers , tglx@linutronix.de, mingo@redhat.com, x86@kernel.org, linux-kernel@vger.kernel.org Subject: Re: [Patch v2] x86/build: require only gcc use -maccumulate-outgoing-args Message-ID: <20170505130552.m2x5bjgexlktxsyz@treble> References: <20170504191409.ptpxg4ooxfqipy3z@treble> <20170505031730.6741-1-nick.desaulniers@gmail.com> <20170505062333.hvaxghrpy5mgpksf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: 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.25]); Fri, 05 May 2017 13:05:54 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 04, 2017 at 11:38:57PM -0700, hpa@zytor.com wrote: > On May 4, 2017 11:23:33 PM PDT, Ingo Molnar wrote: > > > >* Nick Desaulniers wrote: > > > >> Other compilers, like clang, treat unknown compiler flags as errors. > >> > >> Signed-off-by: Nick Desaulniers > >> --- > >> arch/x86/Makefile | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/arch/x86/Makefile b/arch/x86/Makefile > >> index 4430dd489620..12757a252e6b 100644 > >> --- a/arch/x86/Makefile > >> +++ b/arch/x86/Makefile > >> @@ -179,7 +179,7 @@ ifdef CONFIG_JUMP_LABEL > >> endif > >> > >> ifeq ($(ACCUMULATE_OUTGOING_ARGS), 1) > >> - KBUILD_CFLAGS += -maccumulate-outgoing-args > >> + KBUILD_CFLAGS += $(if $(filter > >gcc,$(cc-name)),-maccumulate-outgoing-args) > >> endif > >> > >> # Stackpointer is addressed different for 32 bit and 64 bit x86 > > > >The justification Josh gave for this pattern should be put into a > >comment and into > >the changelog as well. > > > >Thanks, > > > > Ingo > > However, I don't think Josh's explanation is correct. I am pretty > sure it is a performance issue, not a correctness issue Why wouldn't it be a correctness issue? The option is needed in a few cases (involving older versions of gcc and certain configs) to avoid some bugs (see the Makefile for more details). > and besides, a version of gcc that old won't be able to compile the > kernel for other reasons, as evidenced by the fact that noone has > complained about this option being mandatory. Yeah. Looking at the gcc source, the option has actually been around since 2000. So, never mind! I'd be ok with v1, plus a comment saying that clang doesn't support the option. -- Josh