Messages in this thread | | | Date | Fri, 22 Apr 2016 16:56:02 +0100 | From | "Maciej W. Rozycki" <> | Subject | Re: [PATCH] MIPS: Allow R6 compact branch policy to be left unspecified |
| |
On Fri, 22 Apr 2016, Paul Burton wrote:
> It turns out that some toolchains which support MIPS R6 don't support > the -mcompact-branches flag to specify compact branch behaviour. Default > to not providing the -mcompact-branch option to the compiler such that > we can build with such toolchains.
Good idea overall, one further suggestion below.
> diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug > index f0e314c..e91b3d1 100644 > --- a/arch/mips/Kconfig.debug > +++ b/arch/mips/Kconfig.debug > @@ -117,7 +117,15 @@ if CPU_MIPSR6 > > choice > prompt "Compact branch policy" > - default MIPS_COMPACT_BRANCHES_OPTIMAL > + default MIPS_COMPACT_BRANCHES_DEFAULT > + > +config MIPS_COMPACT_BRANCHES_DEFAULT > + bool "Toolchain Default (don't specify)" > + help > + Don't pass the -mcompact-branches flag to the compiler, allowing it > + to use its default (generally "optimal"). This is particularly > + useful for early R6-supporting toolchains which don't support the > + -mcompact-branches flag. > > config MIPS_COMPACT_BRANCHES_NEVER > bool "Never (force delay slot branches)"
How about making the option depend on DEBUG_KERNEL and maybe making it an umbrella setting to hide details from users who do not want to be bothered, i.e. something like:
config MIPS_COMPACT_BRANCHES_OVERRIDE bool "Override the toolchain default for compact branch policy" depends on DEBUG_KERNEL default n [...] if MIPS_COMPACT_BRANCHES_OVERRIDE choice prompt "Compact branch policy" default MIPS_COMPACT_BRANCHES_OPTIMAL [...] endif # MIPS_COMPACT_BRANCHES_OVERRIDE
?
Maciej
| |