Monday, June 14, 2021

Re: [fix, macppc] Unbreak devel/sdl{1,2} on Mac G3s

On Sun, 13 Jun 2021 23:21:57 -0400
George Koehler <kernigh@gmail.com> wrote:

> On Sat, 12 Jun 2021 12:03:01 +0000
> Charlene Wendling <julianaito@posteo.jp> 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.

You can use show-reverse-deps(1) from the sqlports package to get them,
getting direct depends still requires using sqlite3 directly though.

> > 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 will lurk for a good snow iBook G3 and test from there,
that will avoid any risk of false positives.

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

Thanks, i'll keep that line around!

> --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 <thfr@openbsd.org>
> > 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 <kernigh@gmail.com>

No comments:

Post a Comment