Re: php: jit in embedded pcre [Re: CVS: cvs.openbsd.org: ports]

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: php: jit in embedded pcre [Re: CVS: cvs.openbsd.org: ports]

Stuart Henderson
[moved from ports-changes to ports]

On 2017/01/24 10:08, Stuart Henderson wrote:

> On 2017/01/23 17:40, Jeremie Courreges-Anglas wrote:
> > CVSROOT: /cvs
> > Module name: ports
> > Changes by: [hidden email] 2017/01/23 17:40:13
> >
> > Modified files:
> > lang/php       : Makefile.inc
> >
> > Log message:
> > BROKEN on alpha: pcre_jit_compile.c:65:2: error: #error Unsupported architecture
> >
>
> hmm. 7.0 now has a way to disable the pcre jit (which I don't think existed
> when I patched to disable at runtime in 7.0/patches/patch-ext_pcre_php_pcre_c)
> so we should be able to do this, which I think is preferable.
>
> I don't know if the pcre jit even works if it's enabled in config any more;
> with the current iteration of the kernel code, unless the executable has the
> wxneeded marker (which it doesn't) those mappings are going to fail anyway.
>
> thoughts?

I've been running 7.0 with this on amd64, no problems seen and it seems
a better idea than my previous 7.0/patches/patch-ext_pcre_php_pcre_c ..
OK to commit it?


> Index: Makefile.inc
> ===================================================================
> RCS file: /cvs/ports/lang/php/Makefile.inc,v
> retrieving revision 1.90
> diff -u -p -r1.90 Makefile.inc
> --- Makefile.inc 24 Jan 2017 00:40:13 -0000 1.90
> +++ Makefile.inc 24 Jan 2017 10:06:06 -0000
> @@ -1,7 +1,5 @@
>  # $OpenBSD: Makefile.inc,v 1.90 2017/01/24 00:40:13 jca Exp $
> -#
>  
> -BROKEN-alpha= pcre_jit_compile.c:65:2: error: #error Unsupported architecture
>  BROKEN-hppa= no __sync_bool_compare_and_swap support nor asm fallback
>  
>  COMMENT-main= server-side HTML-embedded scripting language
> Index: 5.5/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/php/5.5/Makefile,v
> retrieving revision 1.63
> diff -u -p -r1.63 Makefile
> --- 5.5/Makefile 19 Dec 2016 20:34:22 -0000 1.63
> +++ 5.5/Makefile 24 Jan 2017 10:06:06 -0000
> @@ -1,5 +1,7 @@
>  # $OpenBSD: Makefile,v 1.63 2016/12/19 20:34:22 martijn Exp $
>  
> +BROKEN-alpha= pcre_jit_compile.c:65:2: error: #error Unsupported architecture
> +
>  PV= 5.5
>  V= ${PV}.38
>  REVISION = 0
> Index: 5.6/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/php/5.6/Makefile,v
> retrieving revision 1.43
> diff -u -p -r1.43 Makefile
> --- 5.6/Makefile 22 Jan 2017 17:00:33 -0000 1.43
> +++ 5.6/Makefile 24 Jan 2017 10:06:06 -0000
> @@ -1,5 +1,7 @@
>  # $OpenBSD: Makefile,v 1.43 2017/01/22 17:00:33 martijn Exp $
>  
> +BROKEN-alpha= pcre_jit_compile.c:65:2: error: #error Unsupported architecture
> +
>  PV= 5.6
>  V= ${PV}.30
>  
> Index: 7.0/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/php/7.0/Makefile,v
> retrieving revision 1.25
> diff -u -p -r1.25 Makefile
> --- 7.0/Makefile 22 Jan 2017 17:01:32 -0000 1.25
> +++ 7.0/Makefile 24 Jan 2017 10:06:06 -0000
> @@ -4,10 +4,12 @@ BROKEN-sparc64= SIGBUS during phar gener
>  
>  PV= 7.0
>  V= ${PV}.15
> +REVISION-main= 0
>  
>  WANTLIB-main+= stdc++ ncurses readline
>  BUILD_DEPENDS+= devel/bison
>  
>  CONFIGURE_ENV+= YACC="${LOCALBASE}/bin/bison -y"
> +CONFIGURE_ARGS+= --with-pcre-jit=no
>  
>  .include <bsd.port.mk>
> Index: 7.0/patches/patch-ext_pcre_php_pcre_c
> ===================================================================
> RCS file: 7.0/patches/patch-ext_pcre_php_pcre_c
> diff -N 7.0/patches/patch-ext_pcre_php_pcre_c
> --- 7.0/patches/patch-ext_pcre_php_pcre_c 19 Dec 2016 20:35:47 -0000 1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -$OpenBSD: patch-ext_pcre_php_pcre_c,v 1.3 2016/12/19 20:35:47 martijn Exp $
> ---- ext/pcre/php_pcre.c.orig.port Tue Dec  6 19:05:07 2016
> -+++ ext/pcre/php_pcre.c Fri Dec  9 14:17:09 2016
> -@@ -148,7 +148,7 @@ PHP_INI_BEGIN()
> - STD_PHP_INI_ENTRY("pcre.backtrack_limit", "1000000", PHP_INI_ALL, OnUpdateLong, backtrack_limit, zend_pcre_globals, pcre_globals)
> - STD_PHP_INI_ENTRY("pcre.recursion_limit", "100000",  PHP_INI_ALL, OnUpdateLong, recursion_limit, zend_pcre_globals, pcre_globals)
> - #ifdef HAVE_PCRE_JIT_SUPPORT
> -- STD_PHP_INI_ENTRY("pcre.jit",             "1",       PHP_INI_ALL, OnUpdateBool, jit,             zend_pcre_globals, pcre_globals)
> -+ STD_PHP_INI_ENTRY("pcre.jit",             "0",       PHP_INI_ALL, OnUpdateBool, jit,             zend_pcre_globals, pcre_globals)
> - #endif
> - PHP_INI_END()
> -
>

Reply | Threaded
Open this post in threaded view
|

Re: php: jit in embedded pcre [Re: CVS: cvs.openbsd.org: ports]

Robert Nagy
ok for me

On (2017-01-26 20:08), Stuart Henderson wrote:

> [moved from ports-changes to ports]
>
> On 2017/01/24 10:08, Stuart Henderson wrote:
> > On 2017/01/23 17:40, Jeremie Courreges-Anglas wrote:
> > > CVSROOT: /cvs
> > > Module name: ports
> > > Changes by: [hidden email] 2017/01/23 17:40:13
> > >
> > > Modified files:
> > > lang/php       : Makefile.inc
> > >
> > > Log message:
> > > BROKEN on alpha: pcre_jit_compile.c:65:2: error: #error Unsupported architecture
> > >
> >
> > hmm. 7.0 now has a way to disable the pcre jit (which I don't think existed
> > when I patched to disable at runtime in 7.0/patches/patch-ext_pcre_php_pcre_c)
> > so we should be able to do this, which I think is preferable.
> >
> > I don't know if the pcre jit even works if it's enabled in config any more;
> > with the current iteration of the kernel code, unless the executable has the
> > wxneeded marker (which it doesn't) those mappings are going to fail anyway.
> >
> > thoughts?
>
> I've been running 7.0 with this on amd64, no problems seen and it seems
> a better idea than my previous 7.0/patches/patch-ext_pcre_php_pcre_c ..
> OK to commit it?
>
>
> > Index: Makefile.inc
> > ===================================================================
> > RCS file: /cvs/ports/lang/php/Makefile.inc,v
> > retrieving revision 1.90
> > diff -u -p -r1.90 Makefile.inc
> > --- Makefile.inc 24 Jan 2017 00:40:13 -0000 1.90
> > +++ Makefile.inc 24 Jan 2017 10:06:06 -0000
> > @@ -1,7 +1,5 @@
> >  # $OpenBSD: Makefile.inc,v 1.90 2017/01/24 00:40:13 jca Exp $
> > -#
> >  
> > -BROKEN-alpha= pcre_jit_compile.c:65:2: error: #error Unsupported architecture
> >  BROKEN-hppa= no __sync_bool_compare_and_swap support nor asm fallback
> >  
> >  COMMENT-main= server-side HTML-embedded scripting language
> > Index: 5.5/Makefile
> > ===================================================================
> > RCS file: /cvs/ports/lang/php/5.5/Makefile,v
> > retrieving revision 1.63
> > diff -u -p -r1.63 Makefile
> > --- 5.5/Makefile 19 Dec 2016 20:34:22 -0000 1.63
> > +++ 5.5/Makefile 24 Jan 2017 10:06:06 -0000
> > @@ -1,5 +1,7 @@
> >  # $OpenBSD: Makefile,v 1.63 2016/12/19 20:34:22 martijn Exp $
> >  
> > +BROKEN-alpha= pcre_jit_compile.c:65:2: error: #error Unsupported architecture
> > +
> >  PV= 5.5
> >  V= ${PV}.38
> >  REVISION = 0
> > Index: 5.6/Makefile
> > ===================================================================
> > RCS file: /cvs/ports/lang/php/5.6/Makefile,v
> > retrieving revision 1.43
> > diff -u -p -r1.43 Makefile
> > --- 5.6/Makefile 22 Jan 2017 17:00:33 -0000 1.43
> > +++ 5.6/Makefile 24 Jan 2017 10:06:06 -0000
> > @@ -1,5 +1,7 @@
> >  # $OpenBSD: Makefile,v 1.43 2017/01/22 17:00:33 martijn Exp $
> >  
> > +BROKEN-alpha= pcre_jit_compile.c:65:2: error: #error Unsupported architecture
> > +
> >  PV= 5.6
> >  V= ${PV}.30
> >  
> > Index: 7.0/Makefile
> > ===================================================================
> > RCS file: /cvs/ports/lang/php/7.0/Makefile,v
> > retrieving revision 1.25
> > diff -u -p -r1.25 Makefile
> > --- 7.0/Makefile 22 Jan 2017 17:01:32 -0000 1.25
> > +++ 7.0/Makefile 24 Jan 2017 10:06:06 -0000
> > @@ -4,10 +4,12 @@ BROKEN-sparc64= SIGBUS during phar gener
> >  
> >  PV= 7.0
> >  V= ${PV}.15
> > +REVISION-main= 0
> >  
> >  WANTLIB-main+= stdc++ ncurses readline
> >  BUILD_DEPENDS+= devel/bison
> >  
> >  CONFIGURE_ENV+= YACC="${LOCALBASE}/bin/bison -y"
> > +CONFIGURE_ARGS+= --with-pcre-jit=no
> >  
> >  .include <bsd.port.mk>
> > Index: 7.0/patches/patch-ext_pcre_php_pcre_c
> > ===================================================================
> > RCS file: 7.0/patches/patch-ext_pcre_php_pcre_c
> > diff -N 7.0/patches/patch-ext_pcre_php_pcre_c
> > --- 7.0/patches/patch-ext_pcre_php_pcre_c 19 Dec 2016 20:35:47 -0000 1.3
> > +++ /dev/null 1 Jan 1970 00:00:00 -0000
> > @@ -1,12 +0,0 @@
> > -$OpenBSD: patch-ext_pcre_php_pcre_c,v 1.3 2016/12/19 20:35:47 martijn Exp $
> > ---- ext/pcre/php_pcre.c.orig.port Tue Dec  6 19:05:07 2016
> > -+++ ext/pcre/php_pcre.c Fri Dec  9 14:17:09 2016
> > -@@ -148,7 +148,7 @@ PHP_INI_BEGIN()
> > - STD_PHP_INI_ENTRY("pcre.backtrack_limit", "1000000", PHP_INI_ALL, OnUpdateLong, backtrack_limit, zend_pcre_globals, pcre_globals)
> > - STD_PHP_INI_ENTRY("pcre.recursion_limit", "100000",  PHP_INI_ALL, OnUpdateLong, recursion_limit, zend_pcre_globals, pcre_globals)
> > - #ifdef HAVE_PCRE_JIT_SUPPORT
> > -- STD_PHP_INI_ENTRY("pcre.jit",             "1",       PHP_INI_ALL, OnUpdateBool, jit,             zend_pcre_globals, pcre_globals)
> > -+ STD_PHP_INI_ENTRY("pcre.jit",             "0",       PHP_INI_ALL, OnUpdateBool, jit,             zend_pcre_globals, pcre_globals)
> > - #endif
> > - PHP_INI_END()
> > -
> >