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