php-src/build
Máté Kocsis 8d12f666ae
Fix registration of internal readonly child classes (#15459)
Currently, internal classes are registered with the following code:

INIT_CLASS_ENTRY(ce, "InternalClass", class_InternalClass_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL);
class_entry->ce_flags |= ...;

This has worked well so far, except if InternalClass is readonly. It is because some inheritance checks are run by zend_register_internal_class_ex before ZEND_ACC_READONLY_CLASS is added to ce_flags.

The issue is fixed by adding a zend_register_internal_class_with_flags() zend API function that stubs can use from now on. This function makes sure to add the flags before running any checks. Since the new API is not available in lower PHP versions, gen_stub.php has to keep support for the existing API for PHP 8.3 and below.
2024-08-24 12:36:54 +02:00
..
ax_check_compile_flag.m4 Update AX_CHECK_COMPILE_FLAG to serial 7 (#14217) 2024-05-13 21:15:20 +02:00
ax_func_which_gethostbyname_r.m4 Move Autoconf Archive macros to a common m4 dir 2019-04-23 20:37:31 +02:00
ax_gcc_func_attribute.m4 Fix AX_GCC_FUNC_ATTRIBUTE failure 2024-03-22 11:29:45 +01:00
config-stubs Remove unused Git attributes ident 2018-07-25 00:53:25 +02:00
config.guess Autotools: Update config.guess to 2024-07-27 and config.sub to 2024-05-27 (#15190) 2024-08-03 01:31:34 +02:00
config.sub Autotools: Update config.guess to 2024-07-27 and config.sub to 2024-05-27 (#15190) 2024-08-03 01:31:34 +02:00
gen_stub.php Fix registration of internal readonly child classes (#15459) 2024-08-24 12:36:54 +02:00
genif.sh Refactor genif.sh 2019-07-08 14:58:26 +02:00
libtool.m4 Fix GH-13727: Building with -Werror=strict-prototypes (#14029) 2024-04-22 21:21:40 +02:00
ltmain.sh libtool: Don't remove gcov *.gcno files (#15441) 2024-08-16 18:18:25 +02:00
Makefile.gcov Remove unused gcov artifacts (#12786) 2023-11-27 02:07:05 +00:00
Makefile.global Remove redundant middle newlines in "Autotools" related files 2024-08-12 13:18:32 +02:00
order_by_dep.awk Fix PHP_ADD_EXTENSION_DEP without indentation 2021-06-10 11:48:25 +02:00
php.m4 Fix GH-15534: Bump minimum libxml2 version to 2.9.4 (#15536) 2024-08-23 23:14:38 +02:00
php_cxx_compile_stdcxx.m4 Fix erroneous dnl appended in configure (#14013) 2024-04-21 17:23:22 +02:00
pkg.m4 Fix FSF address & update year to 2022 2022-03-19 18:25:29 +01:00
print_include.awk
shtool Fix FSF address & update year to 2022 2022-03-19 18:25:29 +01:00