Bug #77349 [Ver]: prce-jit / bundled pcre versions

From: Date: Fri, 28 Dec 2018 13:30:11 +0000
Subject: Bug #77349 [Ver]: prce-jit / bundled pcre versions
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-218655@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77349&edit=1 ID: 77349 Updated by: cmb@php.net Reported by: spam2 at rhsoft dot net Summary: prce-jit / bundled pcre versions Status: Verified Type: Bug Package: PCRE related Operating System: Linux PHP Version: 7.2.13 Block user comment: N Private report: N New Comment: > Changing to documentation problem. Aargh![1] @nikic I believe you are right wrt. PHP 7.3, but it seems that for 7.2 it is not possible to override available JIT support[2]. If this is indeed so, it would have merely forgotten to update the help text – or maybe not even this, since --with-pcre-jit would not work, if libpcre had been compiled without JIT support; only --without-pcre-jit would work in all cases. > the bundeled 8.41 2017-07-05 should be updated anyways, […] If there are bugs which affect our PCRE binding, yes. However, in my opinion, this should be filed as separate issue(s). [1] <https://bugs.php.net/70464> [2] <https://github.com/php/php-src/blob/a2cb8228fe57cb8d3db0395fad96d01b1d0cb8bc/ext/pcre/config0.m4#L48-L54> Previous Comments: ------------------------------------------------------------------------ [2018-12-26 23:15:23] spam2 at rhsoft dot net the bundeled 8.41 2017-07-05 should be updated anyways, changelogs why pcre are that reason that distribution hates bundled libraries and in case of pcre loaded multiple times (httpd, mod_security, php) they are even worser * Do Nov 01 2018 Petr Pisar <ppisar@redhat.com> - 8.42-5 - Fix a subject buffer overread in JIT when UTF is disabled and \X or \R has a greater than 1 fixed quantifier - Fix matching a zero-repeated subroutine call at a start of a pattern (upstream bug #2332) * Mo Sep 03 2018 Petr Pisar <ppisar@redhat.com> - 8.42-4 - Fix anchoring in conditionals with only one branch (upstream bug #2307) * Mo Aug 20 2018 Petr Pisar <ppisar@redhat.com> - 8.42-3 - Fix autopossessifying a repeated negative class with no characters less than 256 that is followed by a positive class with only characters less than 256 (upstream bug #2300) * Do Jun 28 2018 Petr Pisar <ppisar@redhat.com> - 8.42-2 - Fix handling UTF and start-of-pattern options in C++ wrapper (upstream bug #2283) - Fix an error message and locale handling in pcregrep tool * Di Mär 20 2018 Petr Pisar <ppisar@redhat.com> - 8.42-1 - 8.42 bump * Mo Feb 26 2018 Petr Pisar <ppisar@redhat.com> - 8.42-0.2.RC1 - Fix compiler warnings in pcregrep * Fr Feb 23 2018 Petr Pisar <ppisar@redhat.com> - 8.42-0.1.RC1 - 8.42-RC1 bump * Di Feb 20 2018 Petr Pisar <ppisar@redhat.com> - 8.41-6 - Fix returning unset groups in POSIX interface if REG_STARTEND has a non-zero starting offset (upstream bug #2244) ------------------------------------------------------------------------ [2018-12-26 23:12:01] spam2 at rhsoft dot net in other words "--with-pcre-jit Enable PCRE JIT functionality (BUNDLED only)" is simply wrong and BTW the "(BUNDLED only)" did not exist before 7.2 in "configure --help" while pcre-jit worked for sure with external pcre given that the huge performacne regression in handling browscap.ini was there with 7.0.x and depended on pcre-jit ------------------------------------------------------------------------ [2018-12-26 23:05:53] nikic@php.net @cmb: I believe that for external PCRE, --with-pcre-jit still determines whether or not JIT is used. Whether it's available at all depends on the external library, but you can still specify --without-pcre-jit to explicitly disable it (afaik). ------------------------------------------------------------------------ [2018-12-26 23:02:40] cmb@php.net > so hwat is state fo play here? If the bundled libpcre is used, it is compiled from scratch with or without JIT support. If an external libpcre is used, it has already been compiled with or without JIT support. Therefore this compile time option only applies to bundled libpcre. Changing to documentation problem. While we're at it, we also should update the “Upgrade history of the bundled PCRE library”. ------------------------------------------------------------------------ [2018-12-26 20:29:25] spam2 at rhsoft dot net Description: ------------ PHP 7.2.x configure --help says --with-pcre-jit Enable PCRE JIT functionality (BUNDLED only) besides that the bundled version is horrible outdated phpinfo() says jit suüport enabled also when built agianst system pcre-devel so hwat is state fo play here? PCRE (Perl Compatible Regular Expressions) Support enabled PCRE Library Version 8.42 2018-03-20 PCRE JIT Support enabled PCRE (Perl Compatible Regular Expressions) Support enabled PCRE Library Version 8.41 2017-07-05 PCRE JIT Support enabled ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=77349&edit=1

« previous php.bugs (#218655) next »