On Sat, 12 Jun 2021 17:27:30 +0200
Matthieu Herrb <[email protected]> wrote:

> On Sat, Jun 12, 2021 at 02:14:58PM +0000, Charlene Wendling wrote:
> > Hi,
> > 
> > I've built a macppc kernel without the ALTIVEC option on one of my
> > G4s to test a port fix for G3s [0], and as i'm testing some ports
> > i've opened a can of worms that is leading me to pixman. Namely, i
> > run:
> >
> 
> Hi,
> 
> is that with the update to pixman 0.40 that I posted last week or so,
> or the 0.38.4 version from -current ? (but normally it doesn't
> matter).

I tried with the -current version, i'll try 0.40 too, but it may take
time. I'll report if i meet issues.
 
> 
> > kern.version=OpenBSD 6.9-current (NOALTIVEC) #1: Fri Jun 11 19:47:02
> > 
> > If i run www/midori, i get that backtrace:
> > 
> > > $ env DISPLAY=:0 egdb midori
> > > Reading symbols from midori...done.
> > > (gdb) run
> > > [...]
> > > Thread 1 received signal SIGILL, Illegal instruction.
> > > (gdb) bt
> > > #0  0xf05f9b84 in vec_lvsl(int, unsigned int const*) (__a=0,
> > >     __b=0xfffb69a0) at /usr/lib/clang/11.1.0/include/altivec.h:
> > > 4047
> > > #1  vmx_combine_over_u_mask (dest=0xd52a64f0, src=0xfffb6980,
> > >     mask=0xfffb69a0, width=6) at pixman-vmx.c:236
> > > #2  0xf05ed7e4 in vmx_combine_over_u (imp=0xe91ba000,
> > > ##op=PIXMAN_OP_OVER,
> > >     dest=0xd52a64f0, src=0xfffb6980, mask=0xfffb69a0, width=6) at
> > >     pixman-vmx.c:277
> > > #3  0xf05cadf8 in general_composite_rect (imp=0xe91c7000,
> > >     #info=0xfffbc9e8 at pixman-general.c:223
> > > #4  0xf03aa4e4 in pixman_image_composite32 (op=PIXMAN_OP_OVER,
> > >     src=0xd5cbbe00, mask=0xc4c1a900, dest=0xcd40c300, src_x=192,
> > >     src_y=219, mask_x=0, mask_y=0, dest_x=28, dest_y=6, width=6,
> > >     height=1) at pixman.c:700
> > > #5  0xe9247468 in _inplace_spans ()
> > > #from /usr/local/lib/libcairo.so.13.0
> > 
> > It looks to me it's heading to pixman/pixman-implementation.c, but
> > it's not built with "-maltivec -mabi=altivec" (see the build log
> > [1]), so i am assuming i'm wrong and going nowhere.
> 
> Normally from my build logs on macppc configure is probing for
> VMX/Altivec:
> 
> checking whether to use VMX/Altivec intrinsics... yes
>
> and then sets
> 
> VMX_CFLAGS='-maltivec -mabi=altivec'
> 
> for the build.

Yes, this is what i get.
 
> If it's not the case it probably means that removing 'option ALTIVEC'
> from the kernel is not equivalent to running on a G3 machine.
> 
> I'm not sure we should support building pixman on kernel without
> ALTIVEC.

I agree, it's not the default configuration in any case.

It would be better to check that on a real G3 machine instead.

> And finally, looking at this remined me of the commit message for
> pixman/pixmman-vmx.c 1.9 :
> 
>  | revert pixman-vmx.c to the version of pixman-0.32.8.
>  | gcc 4.2 is not able to compile the new version.
>  | XXX switch back to 0.34 once macppc switches to clang.
> 
> I need to check that too ... before committing 0.40...
> 
> -- 
> Matthieu Herrb
> 

Reply via email to