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:

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.

I would gladly try a diff that fixes that :)

Charlène.

[0] https://marc.info/?l=openbsd-ports&m=162343888417060&w=2
[1] https://bin.charlenew.xyz/pixman.log

Reply via email to