Messages in this thread | | | Date | Fri, 5 May 2017 08:05:52 -0500 | From | Josh Poimboeuf <> | Subject | Re: [Patch v2] x86/build: require only gcc use -maccumulate-outgoing-args |
| |
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 <mingo@kernel.org> wrote: > > > >* Nick Desaulniers <nick.desaulniers@gmail.com> wrote: > > > >> Other compilers, like clang, treat unknown compiler flags as errors. > >> > >> Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com> > >> --- > >> 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
| |