]> git.pld-linux.org Git - packages/php.git/commitdiff
disable pcre_jit on x32 (segfaults) auto/th/php74-7.4.0-1.alpha1.1
authorElan Ruusamäe <glen@pld-linux.org>
Sat, 22 Jun 2019 17:54:06 +0000 (20:54 +0300)
committerElan Ruusamäe <glen@pld-linux.org>
Sat, 22 Jun 2019 17:57:38 +0000 (20:57 +0300)
this shouldn't be needed, as
- pcre2.spec the jit is disabled: https://github.com/pld-linux/pcre2/blob/auto/th/pcre2-10.33-1/pcre2.spec#L256
- and in ext/pcre/config0.m4 there's feature check: https://github.com/php/php-src/blob/php-7.4.0alpha1/ext/pcre/config0.m4#L54

however reality shows that doesn't work as the segfault building phar.phar backtrace includes pcre_jit symbols

php.spec

index 733a0278ce0689d97111ac7189c2b897d8890aa3..cc7df843d8a03b9924a97f5eba554ac765f8cf9f 100644 (file)
--- a/php.spec
+++ b/php.spec
@@ -59,6 +59,7 @@
 %bcond_without opcache         # without Enable Zend OPcache extension support
 %bcond_without openssl         # without OpenSSL support and OpenSSL extension (module)
 %bcond_without pcntl           # without pcntl extension module
+%bcond_without pcre_jit        # PCRE JIT
 %bcond_without pdo             # without PDO extension module
 %bcond_without pdo_dblib       # without PDO dblib extension module
 %bcond_without pdo_firebird    # without PDO Firebird extension module
 %define apxs1          /usr/sbin/apxs1
 %define        apxs2           /usr/sbin/apxs
 
+# segfaults on x32
+%ifarch x32
+%undefine      with_pcre_jit
+%endif
+
 # disable all sapis
 %if %{with gcov}
 %undefine      with_apache2
@@ -2302,7 +2308,8 @@ for sapi in $sapis; do
        %{?with_openssl:--with-openssl=shared} \
        %{?with_kerberos5:--with-kerberos} \
        --with-tcadb=/usr \
-       %{?with_pcre:--with-external-pcre} \
+       --with-external-pcre \
+       %{__with_without pcre_jit pcre-jit} \
        %{__enable_disable filter filter shared} \
        %{__with_without pgsql pgsql shared} \
        %{__enable_disable phar phar shared} \
This page took 1.016941 seconds and 4 git commands to generate.