Re: [kbuild-all] mipsel-linux-gnu-gcc: error: unrecognized command line option '-mcompact-branches=optimal'

From: Ralf Baechle
Date: Thu Apr 21 2016 - 16:31:46 EST


On Thu, Apr 21, 2016 at 12:51:29PM +0800, Fengguang Wu wrote:

> On Wed, Apr 20, 2016 at 03:30:21PM +0200, Ralf Baechle wrote:
> > On Wed, Apr 20, 2016 at 01:44:28PM +0800, kbuild test robot wrote:
> >
> > > FYI, the error/warning still remains.
> > >
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head: 12566cc35d0e68308bde7aad615743d560cb097b
> > > commit: c1a0e9bc885d46e519fd87d35af6a7937abfb986 MIPS: Allow compact branch policy to be changed
> > > date: 6 months ago
> > > config: mips-malta_qemu_32r6_defconfig (attached as .config)
> > > reproduce:
> > > wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> > > chmod +x ~/bin/make.cross
> > > git checkout c1a0e9bc885d46e519fd87d35af6a7937abfb986
> > > # save the attached .config to linux build tree
> > > make.cross ARCH=mips
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > >> mipsel-linux-gnu-gcc: error: unrecognized command line option '-mcompact-branches=optimal'
> > > >> mipsel-linux-gnu-gcc: error: unrecognized command line option '-mcompact-branches=optimal'
> >
> > -mcompact-branches=optimal is an option for the latest version of the MIPS
> > architecture which is enabled by mips-malta_qemu_32r6_defconfig but your
> > compiler is too old, doesn't support R6. Unfortunately there's no simple
> > way to run a test on the build environment from kconfig or even before
> > kconfig runs so we've just ignord this particular build issue. Plus
> > there being the additional issue that we only know the toolchain to be
> > used after certain options have been picked.
>
> We are running Debian's mips cross compiler.
>
> % mips-linux-gnu-gcc --version
> mips-linux-gnu-gcc (Debian 5.2.1-16) 5.2.1 20150903
> Copyright (C) 2015 Free Software Foundation, Inc.
>
> How about temporarily disable that error, until we upgrade to a new
> gcc version which supports the -mcompact-branches option?

Let's try to sort this properly :)

The culprit seems to be commit c1a0e9bc885d46e519fd87d35af6a7937abfb986
("MIPS: Allow compact branch policy to be changed"). Paul, any reason
why we don't offer the option of not using -mcompact-branches? It seems
GCC 5.2 needs that.

Ralf