]> granicus.if.org Git - php/commitdiff
Fixed bug #80377
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 24 Nov 2020 14:52:41 +0000 (15:52 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 25 Nov 2020 10:47:05 +0000 (11:47 +0100)
Make sure the $PHP_THREAD_SAFETY variable is always available
when configuring extensions. It was previously available for
phpized extensions, but for in-tree builds it was being set
too late.

Then, use $PHP_THREAD_SAFETY instead of $enable_zts to check for
ZTS in bundled extensions, which makes sure these checks also
work for phpize builds.

NEWS
Zend/Zend.m4
configure.ac
ext/opcache/config.m4
ext/session/config.m4

diff --git a/NEWS b/NEWS
index 1e2478cef9765ded09e227f3d7ed7bc7220fb2cf..095c0efce8f4745a3fd0608d957000588fd1684f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,7 @@ PHP                                                                        NEWS
 - Opcache:
   . Fixed bug #80404 (Incorrect range inference result when division results
     in float). (Nikita)
+  . Fixed bug #80377 (Opcache misses executor_globals). (Nikita)
 
 - Standard:
   . Fixed bug #80366 (Return Value of zend_fstat() not Checked). (sagpant, cmb)
index 72618859749646d1d8c36b0089734a499ecd0b4e..781e51d3e44c085c433bebf4c77c705724e911d1 100644 (file)
@@ -190,12 +190,6 @@ dnl LIBZEND_OTHER_CHECKS
 dnl
 AC_DEFUN([LIBZEND_OTHER_CHECKS],[
 
-AC_ARG_ENABLE([zts],
-  [AS_HELP_STRING([--enable-zts],
-    [Enable thread safety])],
-  [ZEND_ZTS=$enableval],
-  [ZEND_ZTS=no])
-
 AC_MSG_CHECKING(whether to enable thread-safety)
 AC_MSG_RESULT($ZEND_ZTS)
 
index 8d6e922fa9bf9ca1c1fc7ec8ddc0e12b989a56cd..e07a75d19ac783a69713ac945ba7acc10d8174a2 100644 (file)
@@ -797,6 +797,19 @@ if test "$PHP_DEBUG_ASSERTIONS" = "yes"; then
   ZEND_DEBUG=yes
 fi
 
+AC_ARG_ENABLE([zts],
+  [AS_HELP_STRING([--enable-zts],
+    [Enable thread safety])],
+  [ZEND_ZTS=$enableval],
+  [ZEND_ZTS=no])
+
+if test "$ZEND_ZTS" = "yes"; then
+  AC_DEFINE(ZTS, 1,[ ])
+  PHP_THREAD_SAFETY=yes
+else
+  PHP_THREAD_SAFETY=no
+fi
+
 PHP_ARG_ENABLE([rtld-now],
   [whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY],
   [AS_HELP_STRING([--enable-rtld-now],
@@ -1136,13 +1149,6 @@ LIBZEND_BASIC_CHECKS
 LIBZEND_DLSYM_CHECK
 LIBZEND_OTHER_CHECKS
 
-if test "$ZEND_ZTS" = "yes"; then
-  AC_DEFINE(ZTS,1,[ ])
-  PHP_THREAD_SAFETY=yes
-else
-  PHP_THREAD_SAFETY=no
-fi
-
 INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM"
 INCLUDES="$INCLUDES -I\$(top_builddir)/Zend"
 
index 054cd28c02475da269c0809bf25d6ec21c7467a9..93d72fb73d19b29e1953226132950baf5b4962ef 100644 (file)
@@ -66,7 +66,7 @@ if test "$PHP_OPCACHE" != "no"; then
       esac
     fi
 
-    if test "$enable_zts" = "yes"; then
+    if test "$PHP_THREAD_SAFETY" = "yes"; then
       DASM_FLAGS="$DASM_FLAGS -D ZTS=1"
     fi
 
index 7abc8813b72aee13adb08936be9eb53311b3fb31..da31bbde86cc9a678f3058291fb5bcc2ac2a790b 100644 (file)
@@ -31,7 +31,7 @@ if test "$PHP_MM" != "no"; then
     AC_MSG_ERROR(cannot find mm library)
   fi
 
-  if test "$enable_zts" = "yes"; then
+  if test "$PHP_THREAD_SAFETY" = "yes"; then
     dnl The mm library is not thread-safe, and mod_mm.c refuses to compile.
     AC_MSG_ERROR(--with-mm cannot be combined with --enable-zts)
   fi