summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--175c7bf6fe0ceeb4b5dc08e08837b411ab05ff6b.patch315
-rw-r--r--b2b0e5246650bc6b63e841614110e471a061d577.patch39
-rw-r--r--b64107531b35e9bc2312cd1ed8c030782e7841d8.patch23
-rw-r--r--failed.txt2
-rw-r--r--php.spec11
5 files changed, 388 insertions, 2 deletions
diff --git a/175c7bf6fe0ceeb4b5dc08e08837b411ab05ff6b.patch b/175c7bf6fe0ceeb4b5dc08e08837b411ab05ff6b.patch
new file mode 100644
index 0000000..d5acd34
--- /dev/null
+++ b/175c7bf6fe0ceeb4b5dc08e08837b411ab05ff6b.patch
@@ -0,0 +1,315 @@
+From 175c7bf6fe0ceeb4b5dc08e08837b411ab05ff6b Mon Sep 17 00:00:00 2001
+From: Joe Watkins <krakjoe@php.net>
+Date: Wed, 12 Jun 2019 20:04:47 +0200
+Subject: [PATCH] Revert "micro-optimization"
+
+This reverts commit 374f7699821eb723a3a82a9854d18c0530b9d4e9.
+---
+ Zend/zend_execute.c | 3 +++
+ Zend/zend_vm_def.h | 18 +++++++++---------
+ Zend/zend_vm_execute.h | 29 ++++++++++++-----------------
+ Zend/zend_vm_gen.php | 17 -----------------
+ 4 files changed, 24 insertions(+), 43 deletions(-)
+
+diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
+index 677190821946..4c2fef629022 100644
+--- a/Zend/zend_execute.c
++++ b/Zend/zend_execute.c
+@@ -3502,6 +3502,9 @@ static zend_always_inline void i_init_func_execute_data(zend_op_array *op_array,
+ EX(run_time_cache) = RUN_TIME_CACHE(op_array);
+
+ EG(current_execute_data) = execute_data;
++#if defined(ZEND_VM_IP_GLOBAL_REG) && ((ZEND_VM_KIND == ZEND_VM_KIND_CALL) || (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID))
++ EX(opline) = opline;
++#endif
+ }
+ /* }}} */
+
+diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
+index 2745908ac240..6c8bce1dd12c 100644
+--- a/Zend/zend_vm_def.h
++++ b/Zend/zend_vm_def.h
+@@ -828,12 +828,12 @@ ZEND_VM_COLD_HELPER(zend_this_not_in_object_context_helper, ANY, ANY)
+ HANDLE_EXCEPTION();
+ }
+
+-ZEND_VM_COLD_HELPER(zend_abstract_method_helper, ANY, ANY, zend_function *_fbc)
++ZEND_VM_COLD_HELPER(zend_abstract_method_helper, ANY, ANY, zend_function *fbc)
+ {
+ USE_OPLINE
+
+ SAVE_OPLINE();
+- zend_throw_error(NULL, "Cannot call abstract method %s::%s()", ZSTR_VAL(_fbc->common.scope->name), ZSTR_VAL(_fbc->common.function_name));
++ zend_throw_error(NULL, "Cannot call abstract method %s::%s()", ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
+ UNDEF_RESULT();
+ HANDLE_EXCEPTION();
+ }
+@@ -3842,7 +3842,7 @@ ZEND_VM_HOT_HANDLER(130, ZEND_DO_UCALL, ANY, ANY, SPEC(RETVAL))
+ call->prev_execute_data = execute_data;
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+
+ ZEND_VM_ENTER_EX();
+ }
+@@ -3866,7 +3866,7 @@ ZEND_VM_HOT_HANDLER(131, ZEND_DO_FCALL_BY_NAME, ANY, ANY, SPEC(RETVAL))
+ call->prev_execute_data = execute_data;
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+
+ ZEND_VM_ENTER_EX();
+ } else {
+@@ -3934,7 +3934,7 @@ ZEND_VM_HOT_HANDLER(60, ZEND_DO_FCALL, ANY, ANY, SPEC(RETVAL))
+ EX(call) = call->prev_execute_data;
+ if (UNEXPECTED((fbc->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED)) != 0)) {
+ if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_ABSTRACT) != 0)) {
+- ZEND_VM_DISPATCH_TO_HELPER(zend_abstract_method_helper, _fbc, fbc);
++ ZEND_VM_DISPATCH_TO_HELPER(zend_abstract_method_helper, fbc, fbc);
+ } else {
+ zend_deprecated_function(fbc);
+ if (UNEXPECTED(EG(exception) != NULL)) {
+@@ -3955,11 +3955,11 @@ ZEND_VM_HOT_HANDLER(60, ZEND_DO_FCALL, ANY, ANY, SPEC(RETVAL))
+ i_init_func_execute_data(&fbc->op_array, ret, 1 EXECUTE_DATA_CC);
+
+ if (EXPECTED(zend_execute_ex == execute_ex)) {
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_VM_ENTER_EX();
+ } else {
+ execute_data = EX(prev_execute_data);
+- SAVE_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP);
+ zend_execute_ex(call);
+ }
+@@ -7995,11 +7995,11 @@ ZEND_VM_HANDLER(158, ZEND_CALL_TRAMPOLINE, ANY, ANY)
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+ if (EXPECTED(zend_execute_ex == execute_ex)) {
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_VM_ENTER_EX();
+ } else {
+ execute_data = EX(prev_execute_data);
+- SAVE_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP);
+ zend_execute_ex(call);
+ }
+diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
+index dff34587ff50..701087a83238 100644
+--- a/Zend/zend_vm_execute.h
++++ b/Zend/zend_vm_execute.h
+@@ -398,24 +398,19 @@ typedef ZEND_OPCODE_HANDLER_RET (ZEND_FASTCALL *opcode_handler_t) (ZEND_OPCODE_H
+ #undef LOAD_OPLINE
+ #undef LOAD_OPLINE_EX
+ #undef SAVE_OPLINE
+-#undef SAVE_OPLINE_EX
+ #define DCL_OPLINE
+ #ifdef ZEND_VM_IP_GLOBAL_REG
+ # define OPLINE opline
+ # define USE_OPLINE
+ # define LOAD_OPLINE() opline = EX(opline)
+-# define LOAD_OPLINE_EX()
+ # define LOAD_NEXT_OPLINE() opline = EX(opline) + 1
+ # define SAVE_OPLINE() EX(opline) = opline
+-# define SAVE_OPLINE_EX() SAVE_OPLINE()
+ #else
+ # define OPLINE EX(opline)
+ # define USE_OPLINE const zend_op *opline = EX(opline);
+ # define LOAD_OPLINE()
+-# define LOAD_OPLINE_EX()
+ # define LOAD_NEXT_OPLINE() ZEND_VM_INC_OPCODE()
+ # define SAVE_OPLINE()
+-# define SAVE_OPLINE_EX()
+ #endif
+ #undef HANDLE_EXCEPTION
+ #undef HANDLE_EXCEPTION_LEAVE
+@@ -465,12 +460,12 @@ static zend_never_inline ZEND_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_th
+ HANDLE_EXCEPTION();
+ }
+
+-static zend_never_inline ZEND_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_abstract_method_helper_SPEC(zend_function *_fbc ZEND_OPCODE_HANDLER_ARGS_DC)
++static zend_never_inline ZEND_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_abstract_method_helper_SPEC(zend_function *fbc ZEND_OPCODE_HANDLER_ARGS_DC)
+ {
+ USE_OPLINE
+
+ SAVE_OPLINE();
+- zend_throw_error(NULL, "Cannot call abstract method %s::%s()", ZSTR_VAL(_fbc->common.scope->name), ZSTR_VAL(_fbc->common.function_name));
++ zend_throw_error(NULL, "Cannot call abstract method %s::%s()", ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
+ UNDEF_RESULT();
+ HANDLE_EXCEPTION();
+ }
+@@ -1069,7 +1064,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_UCALL_SPEC_RETV
+ call->prev_execute_data = execute_data;
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+
+ ZEND_VM_ENTER_EX();
+ }
+@@ -1092,7 +1087,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_UCALL_SPEC_RETV
+ call->prev_execute_data = execute_data;
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+
+ ZEND_VM_ENTER_EX();
+ }
+@@ -1116,7 +1111,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_BY_NAME_S
+ call->prev_execute_data = execute_data;
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+
+ ZEND_VM_ENTER_EX();
+ } else {
+@@ -1192,7 +1187,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_BY_NAME_S
+ call->prev_execute_data = execute_data;
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+
+ ZEND_VM_ENTER_EX();
+ } else {
+@@ -1281,11 +1276,11 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETV
+ i_init_func_execute_data(&fbc->op_array, ret, 1 EXECUTE_DATA_CC);
+
+ if (EXPECTED(zend_execute_ex == execute_ex)) {
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_VM_ENTER_EX();
+ } else {
+ execute_data = EX(prev_execute_data);
+- SAVE_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP);
+ zend_execute_ex(call);
+ }
+@@ -1391,11 +1386,11 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETV
+ i_init_func_execute_data(&fbc->op_array, ret, 1 EXECUTE_DATA_CC);
+
+ if (EXPECTED(zend_execute_ex == execute_ex)) {
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_VM_ENTER_EX();
+ } else {
+ execute_data = EX(prev_execute_data);
+- SAVE_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP);
+ zend_execute_ex(call);
+ }
+@@ -2434,11 +2429,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CALL_TRAMPOLINE_SPEC_HANDLER(Z
+ execute_data = call;
+ i_init_func_execute_data(&fbc->op_array, ret, 0 EXECUTE_DATA_CC);
+ if (EXPECTED(zend_execute_ex == execute_ex)) {
+- LOAD_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_VM_ENTER_EX();
+ } else {
+ execute_data = EX(prev_execute_data);
+- SAVE_OPLINE_EX();
++ LOAD_OPLINE();
+ ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP);
+ zend_execute_ex(call);
+ }
+diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
+index 2e0ad0b2c1c9..d5a27e337177 100755
+--- a/Zend/zend_vm_gen.php
++++ b/Zend/zend_vm_gen.php
+@@ -1947,24 +1947,19 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
+ out($f,"#undef LOAD_OPLINE\n");
+ out($f,"#undef LOAD_OPLINE_EX\n");
+ out($f,"#undef SAVE_OPLINE\n");
+- out($f,"#undef SAVE_OPLINE_EX\n");
+ out($f,"#define DCL_OPLINE\n");
+ out($f,"#ifdef ZEND_VM_IP_GLOBAL_REG\n");
+ out($f,"# define OPLINE opline\n");
+ out($f,"# define USE_OPLINE\n");
+ out($f,"# define LOAD_OPLINE() opline = EX(opline)\n");
+- out($f,"# define LOAD_OPLINE_EX()\n");
+ out($f,"# define LOAD_NEXT_OPLINE() opline = EX(opline) + 1\n");
+ out($f,"# define SAVE_OPLINE() EX(opline) = opline\n");
+- out($f,"# define SAVE_OPLINE_EX() SAVE_OPLINE()\n");
+ out($f,"#else\n");
+ out($f,"# define OPLINE EX(opline)\n");
+ out($f,"# define USE_OPLINE const zend_op *opline = EX(opline);\n");
+ out($f,"# define LOAD_OPLINE()\n");
+- out($f,"# define LOAD_OPLINE_EX()\n");
+ out($f,"# define LOAD_NEXT_OPLINE() ZEND_VM_INC_OPCODE()\n");
+ out($f,"# define SAVE_OPLINE()\n");
+- out($f,"# define SAVE_OPLINE_EX()\n");
+ out($f,"#endif\n");
+ out($f,"#undef HANDLE_EXCEPTION\n");
+ out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
+@@ -2001,10 +1996,8 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
+ out($f,"#undef DCL_OPLINE\n");
+ out($f,"#undef USE_OPLINE\n");
+ out($f,"#undef LOAD_OPLINE\n");
+- out($f,"#undef LOAD_OPLINE_EX\n");
+ out($f,"#undef LOAD_NEXT_OPLINE\n");
+ out($f,"#undef SAVE_OPLINE\n");
+- out($f,"#undef SAVE_OPLINE_EX\n");
+ out($f,"#define OPLINE opline\n");
+ out($f,"#ifdef ZEND_VM_IP_GLOBAL_REG\n");
+ out($f,"# define DCL_OPLINE register const zend_op *opline __asm__(ZEND_VM_IP_GLOBAL_REG);\n");
+@@ -2013,10 +2006,8 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
+ out($f,"#endif\n");
+ out($f,"#define USE_OPLINE\n");
+ out($f,"#define LOAD_OPLINE() opline = EX(opline)\n");
+- out($f,"# define LOAD_OPLINE_EX() LOAD_OPLINE()\n");
+ out($f,"#define LOAD_NEXT_OPLINE() opline = EX(opline) + 1\n");
+ out($f,"#define SAVE_OPLINE() EX(opline) = opline\n");
+- out($f,"#define SAVE_OPLINE_EX()\n");
+ out($f,"#undef HANDLE_EXCEPTION\n");
+ out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
+ out($f,"#define HANDLE_EXCEPTION() LOAD_OPLINE(); ZEND_VM_CONTINUE()\n");
+@@ -2037,10 +2028,8 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
+ out($f,"#undef DCL_OPLINE\n");
+ out($f,"#undef USE_OPLINE\n");
+ out($f,"#undef LOAD_OPLINE\n");
+- out($f,"#undef LOAD_OPLINE_EX\n");
+ out($f,"#undef LOAD_NEXT_OPLINE\n");
+ out($f,"#undef SAVE_OPLINE\n");
+- out($f,"#undef SAVE_OPLINE_EX\n");
+ out($f,"#define OPLINE opline\n");
+ out($f,"#ifdef ZEND_VM_IP_GLOBAL_REG\n");
+ out($f,"# define DCL_OPLINE register const zend_op *opline __asm__(ZEND_VM_IP_GLOBAL_REG);\n");
+@@ -2049,10 +2038,8 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
+ out($f,"#endif\n");
+ out($f,"#define USE_OPLINE\n");
+ out($f,"#define LOAD_OPLINE() opline = EX(opline)\n");
+- out($f,"#define LOAD_OPLINE_EX() LOAD_OPLINE()\n");
+ out($f,"#define LOAD_NEXT_OPLINE() opline = EX(opline) + 1\n");
+ out($f,"#define SAVE_OPLINE() EX(opline) = opline\n");
+- out($f,"#define SAVE_OPLINE_EX()\n");
+ out($f,"#undef HANDLE_EXCEPTION\n");
+ out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
+ if (ZEND_VM_SPEC) {
+@@ -3072,18 +3059,14 @@ function gen_vm($def, $skel) {
+ out($f,"#undef DCL_OPLINE\n");
+ out($f,"#undef USE_OPLINE\n");
+ out($f,"#undef LOAD_OPLINE\n");
+- out($f,"#undef LOAD_OPLINE_EX\n");
+ out($f,"#undef LOAD_NEXT_OPLINE\n");
+ out($f,"#undef SAVE_OPLINE\n");
+- out($f,"#undef SAVE_OPLINE_EX\n");
+ out($f,"#define OPLINE EX(opline)\n");
+ out($f,"#define DCL_OPLINE\n");
+ out($f,"#define USE_OPLINE const zend_op *opline = EX(opline);\n");
+ out($f,"#define LOAD_OPLINE()\n");
+- out($f,"#define LOAD_OPLINE_EX()\n");
+ out($f,"#define LOAD_NEXT_OPLINE() ZEND_VM_INC_OPCODE()\n");
+ out($f,"#define SAVE_OPLINE()\n");
+- out($f,"#define SAVE_OPLINE_EX()\n");
+ out($f,"#undef HANDLE_EXCEPTION\n");
+ out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
+ out($f,"#define HANDLE_EXCEPTION() LOAD_OPLINE(); ZEND_VM_CONTINUE()\n");
diff --git a/b2b0e5246650bc6b63e841614110e471a061d577.patch b/b2b0e5246650bc6b63e841614110e471a061d577.patch
new file mode 100644
index 0000000..2ab8bcd
--- /dev/null
+++ b/b2b0e5246650bc6b63e841614110e471a061d577.patch
@@ -0,0 +1,39 @@
+From b2b0e5246650bc6b63e841614110e471a061d577 Mon Sep 17 00:00:00 2001
+From: Joe Watkins <krakjoe@php.net>
+Date: Wed, 12 Jun 2019 22:39:00 +0200
+Subject: [PATCH] test for bug #78151
+
+---
+ Zend/tests/bug78151.phpt | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+ create mode 100644 Zend/tests/bug78151.phpt
+
+diff --git a/Zend/tests/bug78151.phpt b/Zend/tests/bug78151.phpt
+new file mode 100644
+index 000000000000..87b98a4e44aa
+--- /dev/null
++++ b/Zend/tests/bug78151.phpt
+@@ -0,0 +1,23 @@
++--TEST--
++Bug #78151 Segfault caused by indirect expressions in PHP 7.4a1
++--FILE--
++<?php
++
++class Arr
++{
++ private $foo = '';
++
++ public function __construct(array $array = [])
++ {
++ $property = 'foo';
++
++ $this->{$property} = &$array[$property];
++
++ \var_dump($this->foo);
++ }
++}
++
++$arr = new Arr(['foo' => 'bar']);
++?>
++--EXPECT--
++string(3) "bar"
diff --git a/b64107531b35e9bc2312cd1ed8c030782e7841d8.patch b/b64107531b35e9bc2312cd1ed8c030782e7841d8.patch
new file mode 100644
index 0000000..f096c8f
--- /dev/null
+++ b/b64107531b35e9bc2312cd1ed8c030782e7841d8.patch
@@ -0,0 +1,23 @@
+From b64107531b35e9bc2312cd1ed8c030782e7841d8 Mon Sep 17 00:00:00 2001
+From: Nikita Popov <nikita.ppv@gmail.com>
+Date: Thu, 13 Jun 2019 09:37:30 +0200
+Subject: [PATCH] Fixed bug #78151
+
+---
+ NEWS | 3 +++
+ Zend/zend_execute.c | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
+index 4c2fef629022..faa677e44de5 100644
+--- a/Zend/zend_execute.c
++++ b/Zend/zend_execute.c
+@@ -2855,7 +2855,7 @@ static zend_never_inline void zend_assign_to_property_reference_var_const(zval *
+
+ static zend_never_inline void zend_assign_to_property_reference_this_var(zval *container, zval *prop_ptr, zval *value_ptr OPLINE_DC EXECUTE_DATA_DC)
+ {
+- zend_assign_to_property_reference(container, IS_VAR, prop_ptr, IS_CONST, value_ptr
++ zend_assign_to_property_reference(container, IS_UNUSED, prop_ptr, IS_VAR, value_ptr
+ OPLINE_CC EXECUTE_DATA_CC);
+ }
+
diff --git a/failed.txt b/failed.txt
index 0db1ebc..66dd6b3 100644
--- a/failed.txt
+++ b/failed.txt
@@ -3,7 +3,7 @@
$ grep -ar 'Tests failed' /var/lib/mock/scl74*/build.log
/var/lib/mock/scl74el7x/build.log:Tests failed : 0
-/var/lib/mock/scl74el8x/build.log:Tests failed : 16
+/var/lib/mock/scl74el8x/build.log:Tests failed : 15
/var/lib/mock/scl74fc29x/build.log:Tests failed : 0
/var/lib/mock/scl74fc30x/build.log:Tests failed : 0
diff --git a/php.spec b/php.spec
index 56f133b..f00d38f 100644
--- a/php.spec
+++ b/php.spec
@@ -108,7 +108,7 @@
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
Version: %{upver}%{?lower:~%{lower}}%{?gh_date:.%{gh_date}}
-Release: 8%{?dist}
+Release: 9%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
@@ -164,6 +164,9 @@ Patch47: php-5.6.3-phpinfo.patch
Patch91: php-7.2.0-oci8conf.patch
# Upstream fixes (100+)
+Patch100: https://github.com/php/php-src/commit/175c7bf6fe0ceeb4b5dc08e08837b411ab05ff6b.patch
+Patch101: https://github.com/php/php-src/commit/b2b0e5246650bc6b63e841614110e471a061d577.patch
+Patch102: https://github.com/php/php-src/commit/b64107531b35e9bc2312cd1ed8c030782e7841d8.patch
# Security fixes (200+)
@@ -938,6 +941,9 @@ in pure PHP.
%patch91 -p1 -b .remi-oci8
# upstream patches
+%patch100 -p1
+%patch101 -p1
+%patch102 -p1
# security patches
@@ -1797,6 +1803,9 @@ fi
%changelog
+* Wed Jun 12 2019 Remi Collet <remi@remirepo.net> - 7.4.0~alpha1-9
+- add 3 upstream patches
+
* Wed Jun 12 2019 Remi Collet <remi@remirepo.net> - 7.4.0~alpha1-8
- update to 7.4.0alpha1