On Wed, 11 Aug 2021 21:24:08 +0000 (UTC)
Jeremy Evans <[email protected]> wrote:
> On 08/08 10:37, Jeremy Evans wrote:
> > I'll do some testing with builtin setjmp/longjmp
> > disabled on amd64. If that works, we can switch to doing that by
> > default. If any regressions are noticed, we still have time to switch
> > back to only disabling the builtins on powerpc*.
>
> From my testing on amd64, disabling the builtin setjmp did not cause
> any regressions. I think it makes sense to test doing that by default.
> There's still time before release to back it out if we need to. OKs?
ok gkoehler@
I only have amd64 powerpc powerpc64, and a virtual machine running
i386. I don't find any new problems. (My i386 vm has some problems
in "make test", like JIT doing segmentation fault, but the setjmp
change isn't the cause.)
The risk is that some other arch has broken _setjmp/_longjmp, but
working _builtin_setjmp/_builtin_longjmp.
--George
>
> Thanks,
> Jeremy
>
> Index: Makefile.inc
> ===================================================================
> RCS file: /cvs/ports/lang/ruby/Makefile.inc,v
> retrieving revision 1.25
> diff -u -p -r1.25 Makefile.inc
> --- Makefile.inc 9 Aug 2021 20:13:02 -0000 1.25
> +++ Makefile.inc 11 Aug 2021 21:20:31 -0000
> @@ -33,17 +33,11 @@ CONFIGURE_ARGS += --enable-shared \
> --with-soname=ruby${BINREV} \
> --with-ruby-version=minor \
> --with-mantype=doc \
> + --with-setjmp-type=_setjmp \
> --enable-pthread \
> --enable-ipv6 \
> --without-bundled-libffi \
> --disable-option-checking
> -
> -.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
> -# clang-11's __builtin_setjmp is broken, has chance of SIGSEGV during
> -# "make build" on powerpc with ld.lld, or when passing a wrong option
> -# (like "ruby -e" with no -e code) on powerpc64.
> -CONFIGURE_ARGS += --with-setjmp-type=_setjmp
> -.endif
>
> CONFIGURE_ENV += LIBruby${BINREV}_VERSION=${LIBruby${BINREV}_VERSION} \
> PREFIX="${PREFIX}" \
> Index: 2.6/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/ruby/2.6/Makefile,v
> retrieving revision 1.16
> diff -u -p -r1.16 Makefile
> --- 2.6/Makefile 9 Aug 2021 20:13:02 -0000 1.16
> +++ 2.6/Makefile 11 Aug 2021 21:20:31 -0000
> @@ -1,7 +1,7 @@
> # $OpenBSD: Makefile,v 1.16 2021/08/09 20:13:02 gkoehler Exp $
>
> VERSION = 2.6.8
> -REVISION-main = 0
> +REVISION-main = 1
> DISTNAME = ruby-${VERSION}
> SHARED_LIBS = ruby26 0.0
> NEXTVER = 2.7
> Index: 2.7/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/ruby/2.7/Makefile,v
> retrieving revision 1.13
> diff -u -p -r1.13 Makefile
> --- 2.7/Makefile 9 Aug 2021 20:13:02 -0000 1.13
> +++ 2.7/Makefile 11 Aug 2021 21:20:31 -0000
> @@ -1,7 +1,7 @@
> # $OpenBSD: Makefile,v 1.13 2021/08/09 20:13:02 gkoehler Exp $
>
> VERSION = 2.7.4
> -REVISION-main = 0
> +REVISION-main = 1
> DISTNAME = ruby-${VERSION}
> SHARED_LIBS = ruby27 0.0
> NEXTVER = 2.8
> Index: 3.0/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/ruby/3.0/Makefile,v
> retrieving revision 1.5
> diff -u -p -r1.5 Makefile
> --- 3.0/Makefile 9 Aug 2021 20:13:02 -0000 1.5
> +++ 3.0/Makefile 11 Aug 2021 21:20:31 -0000
> @@ -1,7 +1,7 @@
> # $OpenBSD: Makefile,v 1.5 2021/08/09 20:13:02 gkoehler Exp $
>
> VERSION = 3.0.2
> -REVISION-main = 0
> +REVISION-main = 1
> DISTNAME = ruby-${VERSION}
> SHARED_LIBS = ruby30 0.0
> NEXTVER = 3.1
--
George Koehler <[email protected]>