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). > 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. 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. 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