[Buildroot] [PATCH 1/1] package/pixman: fix powerpc64le build

Joel Stanley joel at jms.id.au
Tue Jul 19 07:46:03 UTC 2022


On Mon, 18 Jul 2022 at 12:14, Thomas Petazzoni
<thomas.petazzoni at bootlin.com> wrote:
>
> Hello,
>
> Let's add some PowerPC folks into the loop. Joel, Cédric, could you
> have a look at the below patch, and how to handle VMX support in the
> pixman package?
>
> It feels a bit unfortunate to unconditionally disable VMX support:
> there is some logic in the pixman configure script to detect the
> availability of VMX, but apparently this logic assumes it works on
> powerpc64le, even though at build time it breaks.

Thanks!

There's a few build failures going around due to nonsense
configurations. In most cases the config has BR2_powerpc64le=y without
selecting a CPU. This defaults us to BR2_powerpc_970=y, which is a CPU
that isn't supported to run ppc64le.

The fix is to only allow CPUs that support ppc64le to be configured
for that platform. I've prepared some patches that I'm running though
CI now, and I'll send them out once they're tested.

If my changes don't fix this pixman issue then we can use the
BR2_POWERPC_CPU_HAS_ALTIVEC to force AltiVec/VMX off when we know the
CPU does not support it.

Cheers,

Joel





>
> Could you have a look and give us your advice?
>
> Thanks a lot!
>
> Thomas Petazzoni
>
> On Fri,  8 Jul 2022 16:21:50 +0200
> Bernd Kuhls <bernd.kuhls at t-online.de> wrote:
>
> > Disable vmx support to fix build error:
> >
> > pixman-vmx.c:268:5: note: in expansion of macro 'LOAD_VECTOR'
> >   268 |     LOAD_VECTOR (src);
> >       |     ^~~~~~~~~~~
> > pixman-vmx.c:268:5: error: cannot convert a value of type 'int' to
> >  vector type '__vector(4) unsigned int' which has different size
> >
> > Fixes:
> > http://autobuild.buildroot.net/results/fda886768fce25ccd9b52b635ff5b13da7ba2d0c/
> >
> > Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
> > ---
> >  package/pixman/pixman.mk | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk
> > index 64302fa49a..0f00a20cd8 100644
> > --- a/package/pixman/pixman.mk
> > +++ b/package/pixman/pixman.mk
> > @@ -21,7 +21,8 @@ PIXMAN_AUTORECONF = YES
> >  # don't build gtk based demos
> >  PIXMAN_CONF_OPTS = \
> >       --disable-gtk \
> > -     --disable-loongson-mmi
> > +     --disable-loongson-mmi \
> > +     --disable-vmx
> >
> >  # The ARM SIMD code from pixman requires a recent enough ARM core, but
> >  # there is a runtime CPU check that makes sure it doesn't get used if
>
>
>
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com



More information about the buildroot mailing list