1 diff -urNp -x '*.orig' php-5.6.40.org/ext/pdo/pdo.c php-5.6.40/ext/pdo/pdo.c
2 --- php-5.6.40.org/ext/pdo/pdo.c 2019-01-09 10:54:13.000000000 +0100
3 +++ php-5.6.40/ext/pdo/pdo.c 2021-08-23 23:20:05.175752159 +0200
4 @@ -132,7 +132,7 @@ const zend_function_entry pdo_functions[
5 /* {{{ pdo_functions[] */
6 #if ZEND_MODULE_API_NO >= 20050922
7 static const zend_module_dep pdo_deps[] = {
9 +#ifdef HAVE_SPL && !COMPILE_DL_SPL
10 ZEND_MOD_REQUIRED("spl")
13 diff -urNp -x '*.orig' php-5.6.40.org/ext/phar/Makefile.frag php-5.6.40/ext/phar/Makefile.frag
14 --- php-5.6.40.org/ext/phar/Makefile.frag 2019-01-09 10:54:13.000000000 +0100
15 +++ php-5.6.40/ext/phar/Makefile.frag 2021-08-23 23:20:05.175752159 +0200
16 @@ -9,7 +9,7 @@ PHP_PHARCMD_EXECUTABLE = ` \
17 $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
18 if test "x$(PHP_MODULES)" != "x"; then \
19 $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
20 - for i in bz2 zlib phar; do \
21 + for i in pcre spl bz2 zlib phar; do \
22 if test -f "$(top_builddir)/modules/$$i.la"; then \
23 . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
25 diff -urNp -x '*.orig' php-5.6.40.org/ext/spl/config.m4 php-5.6.40/ext/spl/config.m4
26 --- php-5.6.40.org/ext/spl/config.m4 2019-01-09 10:54:13.000000000 +0100
27 +++ php-5.6.40/ext/spl/config.m4 2021-08-23 23:20:05.175752159 +0200
28 @@ -22,6 +22,6 @@ int main(int argc, char **argv) {
29 CPPFLAGS=$old_CPPFLAGS
30 AC_DEFINE_UNQUOTED(HAVE_PACKED_OBJECT_VALUE, $ac_result, [Whether struct _zend_object_value is packed])
31 AC_DEFINE(HAVE_SPL, 1, [Whether you want SPL (Standard PHP Library) support])
32 - PHP_NEW_EXTENSION(spl, php_spl.c spl_functions.c spl_engine.c spl_iterators.c spl_array.c spl_directory.c spl_exceptions.c spl_observer.c spl_dllist.c spl_heap.c spl_fixedarray.c, no)
33 + PHP_NEW_EXTENSION(spl, php_spl.c spl_functions.c spl_engine.c spl_iterators.c spl_array.c spl_directory.c spl_exceptions.c spl_observer.c spl_dllist.c spl_heap.c spl_fixedarray.c, $ext_shared)
34 PHP_INSTALL_HEADERS([ext/spl], [php_spl.h spl_array.h spl_directory.h spl_engine.h spl_exceptions.h spl_functions.h spl_iterators.h spl_observer.h spl_dllist.h spl_heap.h spl_fixedarray.h])
35 PHP_ADD_EXTENSION_DEP(spl, pcre, true)
36 diff -urNp -x '*.orig' php-5.6.40.org/ext/spl/spl_iterators.c php-5.6.40/ext/spl/spl_iterators.c
37 --- php-5.6.40.org/ext/spl/spl_iterators.c 2019-01-09 10:54:13.000000000 +0100
38 +++ php-5.6.40/ext/spl/spl_iterators.c 2021-08-23 23:20:05.175752159 +0200
39 @@ -60,7 +60,13 @@ PHPAPI zend_class_entry *spl_ce_EmptyIte
40 PHPAPI zend_class_entry *spl_ce_AppendIterator;
41 PHPAPI zend_class_entry *spl_ce_RegexIterator;
42 PHPAPI zend_class_entry *spl_ce_RecursiveRegexIterator;
44 +#undef spl_ce_Countable
45 +zend_class_entry *spl_ce_Countable; // real instance
46 +extern PHPAPI zend_class_entry *spl_ce_Countable_p; // external one
48 PHPAPI zend_class_entry *spl_ce_Countable;
50 PHPAPI zend_class_entry *spl_ce_RecursiveTreeIterator;
52 ZEND_BEGIN_ARG_INFO(arginfo_recursive_it_void, 0)
53 @@ -3839,6 +3845,10 @@ PHP_MINIT_FUNCTION(spl_iterators)
54 REGISTER_SPL_STD_CLASS_EX(EmptyIterator, NULL, spl_funcs_EmptyIterator);
55 REGISTER_SPL_ITERATOR(EmptyIterator);
58 + spl_ce_Countable_p = spl_ce_Countable;
61 REGISTER_SPL_SUB_CLASS_EX(RecursiveTreeIterator, RecursiveIteratorIterator, spl_RecursiveTreeIterator_new, spl_funcs_RecursiveTreeIterator);
62 REGISTER_SPL_CLASS_CONST_LONG(RecursiveTreeIterator, "BYPASS_CURRENT", RTIT_BYPASS_CURRENT);
63 REGISTER_SPL_CLASS_CONST_LONG(RecursiveTreeIterator, "BYPASS_KEY", RTIT_BYPASS_KEY);
64 diff -urNp -x '*.orig' php-5.6.40.org/ext/spl/spl_iterators.h php-5.6.40/ext/spl/spl_iterators.h
65 --- php-5.6.40.org/ext/spl/spl_iterators.h 2019-01-09 10:54:13.000000000 +0100
66 +++ php-5.6.40/ext/spl/spl_iterators.h 2021-08-23 23:20:05.175752159 +0200
67 @@ -51,7 +51,12 @@ extern PHPAPI zend_class_entry *spl_ce_E
68 extern PHPAPI zend_class_entry *spl_ce_AppendIterator;
69 extern PHPAPI zend_class_entry *spl_ce_RegexIterator;
70 extern PHPAPI zend_class_entry *spl_ce_RecursiveRegexIterator;
72 +#define spl_ce_Countable spl_ce_Countable_p
73 +extern PHPAPI zend_class_entry *spl_ce_Countable_p;
75 extern PHPAPI zend_class_entry *spl_ce_Countable;
77 extern PHPAPI zend_class_entry *spl_ce_CallbackFilterIterator;
78 extern PHPAPI zend_class_entry *spl_ce_RecursiveCallbackFilterIterator;
80 diff -urNp -x '*.orig' php-5.6.40.org/ext/standard/array.c php-5.6.40/ext/standard/array.c
81 --- php-5.6.40.org/ext/standard/array.c 2019-01-09 10:54:13.000000000 +0100
82 +++ php-5.6.40/ext/standard/array.c 2021-08-23 23:20:05.175752159 +0200
85 #include "ext/spl/spl_array.h"
88 +PHPAPI zend_class_entry *spl_ce_Countable_p = NULL; // external one
92 #define EXTR_OVERWRITE 0