On Sat, 12 Jun 2021 12:03:01 +0000
Charlene Wendling <[email protected]> wrote:
> You were right, SDL 1.x is impacted as well. I've updated the diff
> below to include SDL 1.x. It has been tested successfully against
> frozen-bubble and tutris. xmoto fails with:
ok gkoehler@
and thanks for trying so many packages!
I didn't know which packages used SDL 1.x.
> Program received signal SIGILL, Illegal instruction.
> 0x9830c5f0 in jsimd_idct_ifast_altivec ()
> from /usr/local/lib/libjpeg.so.70.0
>
> So i know what's up next, but given a lot of stuff depend on libjpeg, it
> should be way longer, since i may need to rebuild almost all my
> current packages ;)
This libjpeg crash might be a false positive (from the no-ALTIVEC
kernel bug), so it might go away with Matthieu Herrb's diff on bugs@.
I am running no-ALTIVEC with the diff, but here xmoto crashes in
libLLVM.so.5.0 because I don't have radeondrm. (I know that OpenGL,
on macppc without radeondrm, always crashes in libLLVM.)
I have a PowerBook G4 with radeondrm, but I didn't use it for this
no-ALTIVEC trial. I also have a G3, but it doesn't power on.
By doing $ objdump -dlr /usr/local/lib/libjpeg.so.70.0 |less
and searching for '[, ]v[0-9]', it looks like libjpeg uses altivec
only in its *_altivec() functions. If it knows not to call
*_altivec() on G3, it wouldn't crash.
--George
>
> Charlène.
>
>
> Index: devel/sdl2/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/sdl2/Makefile,v
> retrieving revision 1.34
> diff -u -p -r1.34 Makefile
> --- devel/sdl2/Makefile 23 Jan 2021 17:47:43 -0000 1.34
> +++ devel/sdl2/Makefile 12 Jun 2021 12:01:33 -0000
> @@ -5,7 +5,7 @@ COMMENT= cross-platform multimedia libra
> V= 2.0.14
> DISTNAME= SDL2-${V}
> PKGNAME= sdl2-${V}
> -REVISION= 1
> +REVISION= 2
> CATEGORIES= devel
> MASTER_SITES= https://www.libsdl.org/release/
>
> @@ -50,6 +50,13 @@ CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}
>
> .if ${MACHINE_ARCH} == "hppa"
> CONFIGURE_ARGS+= --disable-atomic
> +.endif
> +
> +# The assembly code contains AltiVec instructions, whose support is not
> +# properly detected at runtime. Fix SIGILLs on macppc G3s, while keeping
> +# it for powerpc64.
> +.if ${MACHINE_ARCH} == "powerpc"
> +CONFIGURE_ARGS+= --enable-altivec=no
> .endif
>
> # tests in test subdir, but interactive and not hooked up to build
> Index: devel/sdl/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/sdl/Makefile,v
> retrieving revision 1.105
> diff -u -p -r1.105 Makefile
> --- devel/sdl/Makefile 23 Jan 2021 17:52:00 -0000 1.105
> +++ devel/sdl/Makefile 12 Jun 2021 12:01:33 -0000
> @@ -5,7 +5,7 @@ COMMENT= cross-platform multimedia libra
> VERSION= 1.2.15
> DISTNAME= SDL-${VERSION}
> PKGNAME= ${DISTNAME:L}
> -REVISION= 11
> +REVISION= 12
> CATEGORIES= devel
> MAINTAINER= Thomas Frohwein <[email protected]>
> MASTER_SITES= ${HOMEPAGE}release/
> @@ -64,6 +64,13 @@ WANTLIB+= X11 Xau Xdmcp Xext Xrandr Xren
> .endif
>
> NO_TEST= Yes
> +
> +# The assembly code contains AltiVec instructions, whose support is not
> +# properly detected at runtime. Fix SIGILLs on macppc G3s, while keeping
> +# it for powerpc64.
> +.if ${MACHINE_ARCH} == "powerpc"
> +CONFIGURE_ARGS+= --enable-altivec=no
> +.endif
>
> pre-configure:
> @mkdir -p ${WRKSRC}/src/audio/sndio
>
>
--
George Koehler <[email protected]>