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]>

Reply via email to