[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170418201942.ohybixihlk36it4t@treble>
Date: Tue, 18 Apr 2017 15:19:42 -0500
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Andi Kleen <andi@...stfloor.org>
Cc: kbuild test robot <fengguang.wu@...el.com>, kbuild-all@...org,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...nel.org>,
Steven Rostedt <rostedt@...dmis.org>
Subject: Re: arch/x86//kernel/ftrace.c:35:3: error: #error The following
combination is not supported: ((compiler missing -mfentry) || (CONFIG_X86_32
and !CONFIG_DYNAMIC_FTRACE)) && CONFIG_FUNCTION_GRAPH_TRACER &&
CONFIG_CC_OPTIMIZE_FOR_SIZE
On Tue, Apr 18, 2017 at 11:52:41AM -0700, Andi Kleen wrote:
> Josh Poimboeuf <jpoimboe@...hat.com> writes:
> >
> > The error is working as designed. gcc < 4.6.0 doesn't have -mfentry, so
> > it fails the above check on x86. Can you add a skip rule? It should
> > skip building the following case:
> >
> > x86 && ((gcc < 4.6.0) || (CONFIG_X86_32 and !CONFIG_DYNAMIC_FTRACE))
> > && CONFIG_FUNCTION_GRAPH_TRACER && CONFIG_CC_OPTIMIZE_FOR_SIZE
>
> This will also break everyone's randconfig builds. The better way
> would be to check this in the Makefile and disable one of the options
I don't know how to disable a config option from the Makefile like that.
Any ideas?
BTW, I think it will only break randconfigs for old versions of gcc,
before 4.6.0. The error message isn't quite right. I just noticed the
FUNCTION_GRAPH_TRACER config has:
depends on !X86_32 || !CC_OPTIMIZE_FOR_SIZE
which means that X86_32 and CC_OPTIMIZE_FOR_SIZE can never be set with
FUNCTION_GRAPH_TRACER. So the error message could be simplified to:
#error The following combination is not supported: (compiler missing -mfentry) && CONFIG_FUNCTION_GRAPH_TRACER && CONFIG_CC_OPTIMIZE_FOR_SIZE
--
Josh
Powered by blists - more mailing lists