Re: [PATCH] powerpc: e500: Fix compilation with gcc e500 compiler

From: Segher Boessenkool
Date: Tue May 24 2022 - 14:58:16 EST


On Tue, May 24, 2022 at 08:12:55PM +0200, Pali Rohár wrote:
> On Tuesday 24 May 2022 12:59:55 Segher Boessenkool wrote:
> > On Tue, May 24, 2022 at 11:39:39AM +0200, Pali Rohár wrote:
> > > gcc e500 compiler does not support -mcpu=powerpc option. When it is
> > > specified then gcc throws compile error:
> > >
> > > gcc: error: unrecognized argument in option ‘-mcpu=powerpc’
> > > gcc: note: valid arguments to ‘-mcpu=’ are: 8540 8548 native
> >
> > What? Are you using some modified version of GCC, perhaps?
>
> Hello! I'm using official gcc version, no special modification.
>
> > No version of GCC that isn't hamstrung can have this output.
>
> gcc for e500 cores has really this output when you pass -mcpu=powerpc.
>
> Upstream gcc dropped support for e500 cores during development of
> version 9.

This isn't true. The SPE instruction extension is no longer supported
(because it wasn't maintained). Everything else still works.

> But you can still compile and install gcc 8.5.0 (last version
> of gcc 8) which has this full e500 support.
>
> Really, you can easily try it. Debian 10 (Buster) has gcc 8.3.0 in its
> default installation and also provides packages with cross compilers.
> Just run 'sudo apt install gcc-powerpc-linux-gnuspe' on desktop amd64
> version of Debian 10, it will install e500 cross compiler.
>
> -mcpu=8540 specify e500v1 and -mcpu=8548 specify e500v2

Aha. Right, because this config forces -mspe it requires one of these
CPUs.

You can use a powerpc-linux compiler instead, and everything will just
work. These CPUs are still supported, in all of GCC 9 .. GCC 12 :-)


Segher