From f12cd1985e0ac154cbe6102101e610e06df7ecfe Mon Sep 17 00:00:00 2001 From: Calvin Buckley Date: Tue, 3 Dec 2024 11:27:18 -0400 Subject: [PATCH 1/4] PHP-8.4 is now for PHP-8.4.3-dev --- NEWS | 5 ++++- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index bd6e28a0c7ada..c97f58372639f 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.4.2 +?? ??? ????, PHP 8.4.3 + + +05 Dec 2024, PHP 8.4.2 - BcMath: . Fixed bug GH-16978 (Avoid unnecessary padding with leading zeros) diff --git a/Zend/zend.h b/Zend/zend.h index 62c0137092e43..6cd065e04891f 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.4.2-dev" +#define ZEND_VERSION "4.4.3-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index 142f8824ba78c..6efa19164ecb4 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.4.2-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.4.3-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index 5b63c499c4eee..b4f174a470965 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 4 -#define PHP_RELEASE_VERSION 2 +#define PHP_RELEASE_VERSION 3 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.4.2-dev" -#define PHP_VERSION_ID 80402 +#define PHP_VERSION "8.4.3-dev" +#define PHP_VERSION_ID 80403 From c5ce74c88c9e49d4dc15a55ca30c2a09ee713619 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 3 Dec 2024 20:42:27 +0300 Subject: [PATCH 2/4] Fix GH-17003: Pecl 8.4 tracing JIT crash (#17032) --- ext/opcache/jit/zend_jit_trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index c7c470330f060..da66a903c170a 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -6831,7 +6831,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par ssa->var_info[j].type &= ~MAY_BE_GUARD; op_type = concrete_type(ssa->var_info[j].type); - if (!zend_jit_type_guard(&ctx, opline, EX_NUM_TO_VAR(i), op_type)) { + if (!zend_jit_type_guard(&ctx, NULL, EX_NUM_TO_VAR(i), op_type)) { goto jit_failure; } SET_STACK_TYPE(stack, i, op_type, 1); From 89b82ef70949279675640085b4b71bd165502c14 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 3 Dec 2024 20:43:15 +0300 Subject: [PATCH 3/4] Fix GH-16996: 8.4 tracing JIT phpseclib failures (#17030) * Fix GH-16996: 8.4 tracing JIT phpseclib failures This prevents conflicts caused by spilling to bound PHP stack slots by creating copies. * Fix build --- ext/opcache/jit/zend_jit_ir.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ext/opcache/jit/zend_jit_ir.c b/ext/opcache/jit/zend_jit_ir.c index beab53894a1b8..f9e78368a2476 100644 --- a/ext/opcache/jit/zend_jit_ir.c +++ b/ext/opcache/jit/zend_jit_ir.c @@ -1332,8 +1332,16 @@ static void zend_jit_def_reg(zend_jit_ctx *jit, zend_jit_addr addr, ir_ref val) ZEND_ASSERT(jit->ra && jit->ra[var].ref == IR_NULL); /* Negative "var" has special meaning for IR */ - if (val > 0 && !zend_jit_spilling_may_cause_conflict(jit, var, val)) { - val = ir_bind(&jit->ctx, -EX_NUM_TO_VAR(jit->ssa->vars[var].var), val); + if (val > 0) { + if (jit->ctx.binding) { + ir_ref old = ir_binding_find(&jit->ctx, val); + if (old && old != -EX_NUM_TO_VAR(jit->ssa->vars[var].var)) { + val = ir_emit2(&jit->ctx, IR_OPT(IR_COPY, jit->ctx.ir_base[val].type), val, 1); + } + } + if (!zend_jit_spilling_may_cause_conflict(jit, var, val)) { + val = ir_bind(&jit->ctx, -EX_NUM_TO_VAR(jit->ssa->vars[var].var), val); + } } jit->ra[var].ref = val; From b1e3dcf88a2251fbc3665905560e27dd9539b53f Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Tue, 3 Dec 2024 18:45:43 +0100 Subject: [PATCH 4/4] PHP-8.3 is now for PHP 8.3.16-dev --- NEWS | 5 ++++- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index b31724b1b0338..e52764d78db64 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.3.15 +?? ??? ????, PHP 8.3.16 + + +19 Dec 2024, PHP 8.3.15 - Calendar: . Fixed jdtogregorian overflow. (David Carlier) diff --git a/Zend/zend.h b/Zend/zend.h index daf064f8c4e02..3fe973e663bea 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.3.15-dev" +#define ZEND_VERSION "4.3.16-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index d15c390e09355..b6ec8b2be15fd 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.3.15-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.3.16-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index 0182b4081dba7..3521615c68fc9 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 3 -#define PHP_RELEASE_VERSION 15 +#define PHP_RELEASE_VERSION 16 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.3.15-dev" -#define PHP_VERSION_ID 80315 +#define PHP_VERSION "8.3.16-dev" +#define PHP_VERSION_ID 80316