#
c02c1d44 |
| 08-Aug-2024 |
Arnaud Le Blanc |
Change YIELD/YIELD_FROM to do not increment opline (#15328) YIELD and YIELD_FROM increment opline before returning, but in most places we need the opline to point to the YIELD and YIELD_
Change YIELD/YIELD_FROM to do not increment opline (#15328) YIELD and YIELD_FROM increment opline before returning, but in most places we need the opline to point to the YIELD and YIELD_FROM. Here I change YIELD / YIELD_FROM to not increment opline. This simplifies the code and fixes GH-15275 in a better way. Closes GH-15328
show more ...
|
#
3a30c29d |
| 09-Aug-2024 |
Peter Kokot |
Autotools: Add pkg-config support for NET-SNMP library (#15261) NET-SNMP has pkg-config support since 5.8.1 This optionally finds the NET-SNMP library using pkg-config or falls
Autotools: Add pkg-config support for NET-SNMP library (#15261) NET-SNMP has pkg-config support since 5.8.1 This optionally finds the NET-SNMP library using pkg-config or falls back to find library on the system with net-snmp-config. The configure option argument (--with-snmp=DIR) works like before (path to the net-snmp-config). When explicitly using the DIR argument, the pkg-config check is silently skipped. When not using DIR argument, the SNMP_CFLAGS and SNMP_LIBS can be also used to find the NET-SNMP library: ./configure --with-snmp \ SNMP_CFLAGS=-I/path/to/net-snmp/include \ SNMP_LIBS="-L/path/to/net-snmp -lnetsnmp" Co-authored-by: Calvin Buckley <calvin@cmpct.info>
show more ...
|
#
c68b43c7 |
| 08-Aug-2024 |
Ilija Tovilo |
[skip ci] Add UPGRADING.INTERNALS note for ZEND_DIM_ALTERNATIVE_SYNTAX
|
#
d5c45225 |
| 02-Aug-2024 |
Christoph M. Becker |
Use new MSVC preprocessor for VS 17 builds From the documentation[1]: | We're updating the Microsoft C++ preprocessor to improve standards | conformance, fix longstanding bugs,
Use new MSVC preprocessor for VS 17 builds From the documentation[1]: | We're updating the Microsoft C++ preprocessor to improve standards | conformance, fix longstanding bugs, and change some behaviors that | are officially undefined. We've also added new diagnostics to warn | on errors in macro definitions. Thus it appears to be sensible to switch to the new preprocessor for all VS17 builds. Note that although the new preprocessor is available as of VS16.5 (i.e. `version >= 1925`), we don't want to potentially break older builds, and as such use the new preprocessor only for VS17 builds. Users who wish to use the new preprocessor with VS16, can still `set CFLAGS=/Zc:preprocessor` before running `buildconf`/`phpize`. [1] <https://learn.microsoft.com/en-us/cpp/preprocessor/preprocessor-experimental-overview?view=msvc-170> Closes GH-15201.
show more ...
|
#
0c3b7677 |
| 06-Aug-2024 |
Peter Kokot |
Autotools: Add pkg-config for GMP library (#15166) GMP has pkg-config integration since 2019-08-22 (version ~6.2.0). This optionally finds the GMP library using pkg-config or falls
Autotools: Add pkg-config for GMP library (#15166) GMP has pkg-config integration since 2019-08-22 (version ~6.2.0). This optionally finds the GMP library using pkg-config or falls back to find library on the system or with the provided configure option argument (--with-gmp=DIR). When using DIR argument, the pkg-config check is silently skipped. When not using DIR argument, the GMP_CFLAGS and GMP_LIBS can be also used to find the GMP library: ./configure --with-gmp \ GMP_CFLAGS=-I/path/to/gmp/include \ GMP_LIBS="-L/path/to/gmp -lgmp"
show more ...
|
#
a0c29f08 |
| 05-Aug-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Use unsigned int instead of int for refcount for libxml objects (#15247)
|
#
50217b35 |
| 05-Aug-2024 |
Ilija Tovilo |
Remove IS_STATIC_VAR_UNINITIALIZED (#15227) This flag was never necessary. We know a static variable is uninitialized (i.e. the initializer has never been called) iff the zval in the sta
Remove IS_STATIC_VAR_UNINITIALIZED (#15227) This flag was never necessary. We know a static variable is uninitialized (i.e. the initializer has never been called) iff the zval in the static variable array does not contain a reference. Prompted by a related issue in ext-uopz reported by Christoph.
show more ...
|
#
6910167c |
| 04-Aug-2024 |
Tim Düsterhus |
random: Remove engine_combinedlcg.c (#15216) The standalone engine cannot be usefully used for any other purpose. Remove it and inline the implementation into the `php_combined_lcg()` fu
random: Remove engine_combinedlcg.c (#15216) The standalone engine cannot be usefully used for any other purpose. Remove it and inline the implementation into the `php_combined_lcg()` function.
show more ...
|
#
4f07cdc5 |
| 03-Aug-2024 |
Peter Kokot |
Replace PHP_OUTPUT with AC_CONFIG_FILES (#15186) This is a follow-up of GH-15177 (c96f08aa70d75736fe227975804f998c408acaaf) and GH-15185 (9467ffb43c0eb271f32f6e435799ccc36bc2b52b
Replace PHP_OUTPUT with AC_CONFIG_FILES (#15186) This is a follow-up of GH-15177 (c96f08aa70d75736fe227975804f998c408acaaf) and GH-15185 (9467ffb43c0eb271f32f6e435799ccc36bc2b52b) The PHP_OUTPUT macro was introduced in the very early phase of the build system due to AC_OUTPUT handling issues in the old Autoconf versions before the AC_CONFIG_FILES, AC_CONFIG_COMMANDS etc were introduced with the AC_OUTPUT signature without arguments. The PHP_OUTPUT was also helping Makefile.in back then being properly generated based on whether all files were generated or only some (when using the obsolete CONFIG_FILES=... ./config.status invocation instead of the new ./config.status --file=...). Another issue is that PHP_OUTPUT can't be used by extensions when using phpize. This replaces the PHP_OUTPUT invocations with default AC_CONFIG_FILES. The obsolete "REDO_ALL" feature at the config.status invocation is also removed with a simpler unconditional generation. In phar extension the "ext/phar" is replaced with $ext_dir variable to be able to use phpize.
show more ...
|
#
9ea290b7 |
| 29-Jul-2024 |
Peter Kokot |
Sync HAVE_ICONV preprocessor macro usage (#15148) HAVE_ICONV marks that PHP extension 'iconv' is available, and not only that iconv library or its functions/headers are available.
|
#
32210ce9 |
| 27-Jul-2024 |
Peter Kokot |
Autotools: Sync CS in XML related extensions (#15110) - PHP_SETUP_LIBXML arguments quoted - Help texts updated for HAVE_LIBXML, HAVE_DOM, HAVE_XMLREADER, HAVE_XMLWRITER, HAVE_SOAP,
Autotools: Sync CS in XML related extensions (#15110) - PHP_SETUP_LIBXML arguments quoted - Help texts updated for HAVE_LIBXML, HAVE_DOM, HAVE_XMLREADER, HAVE_XMLWRITER, HAVE_SOAP, HAVE_SIMPLEXML, and HAVE_XML CPP macros - Duplicate HAVE_LIBXML symbol definition in PHP_SETUP_LIBXML M4 macro removed (the HAVE_LIBXML marks that PHP libxml extension is available and not only that libxml2 library is available)
show more ...
|
#
40e0d3a2 |
| 22-Jul-2024 |
Peter Kokot |
Autotools: Check for crypt and crypt_r with AC_* macros (#15060) This checks if crypt and crypt_r functions are available on the system in default libraries or in the crypt library with
Autotools: Check for crypt and crypt_r with AC_* macros (#15060) This checks if crypt and crypt_r functions are available on the system in default libraries or in the crypt library with the AC_SEARCH_LIBS. The redundant HAVE_LIBCRYPT symbol is removed.
show more ...
|
#
e6089b09 |
| 22-Jul-2024 |
Peter Kokot |
Add upgrading note about Autoconf cache variables (#14985) [skip ci]
|
#
1fbb6665 |
| 17-Jul-2024 |
Arnaud Le Blanc |
Use zend_std_build_properties() to access zend_object.properties The zend_object.properties HashTable needs to be built just in time by calling rebuild_object_properties() on the object
Use zend_std_build_properties() to access zend_object.properties The zend_object.properties HashTable needs to be built just in time by calling rebuild_object_properties() on the object before accessing it. Normally this is done automatically in zend_std_get_properties(), but we do it manually in a few places. In this change I introduce an inline variant of zend_std_build_properties(), and refactor these places to use it instead of calling rebuild_object_properties() manually. rebuild_object_properties() renamed as rebuild_object_properties_internal(), to enforce usage of zend_std_get_properties() or zend_std_build_properties_ex(). Closes GH-14996
show more ...
|
#
436baae1 |
| 18-Jul-2024 |
Peter Kokot |
[skip ci] Sync HAVE_SIGSETJMP removal This adds notice in the UPGRADING.INTERNALS file and removes redundant undefinition from Windows config header. Follow-up of GH-14942.
|
#
9c84d247 |
| 15-Jul-2024 |
Peter Kokot |
[skip ci] Update UPGRADING.INTERNALS Related to GH-14963
|
#
808d5b30 |
| 13-Jul-2024 |
Peter Kokot |
[ci skip] Add note about --with-openssl-legacy-provider Added here to have all build system configuration options changes also at one place for easier overview. Option added via
[ci skip] Add note about --with-openssl-legacy-provider Added here to have all build system configuration options changes also at one place for easier overview. Option added via GH-13951
show more ...
|
#
8fe127a5 |
| 12-Jul-2024 |
Peter Kokot |
Autotools: Enhance PHP_EVAL_LIBLINE M4 macro (#14924) PHP_EVAL_LIBALINE macro processes the given libraries flags (-l) and/or library paths flags (-L) and appends the -l flags to either
Autotools: Enhance PHP_EVAL_LIBLINE M4 macro (#14924) PHP_EVAL_LIBALINE macro processes the given libraries flags (-l) and/or library paths flags (-L) and appends the -l flags to either LIBS or the given *_SHARED_LIBADD variables. The -L flags are appended to the LDFLAGS. The new 3rd argument enables appending libraries to the given variable in the 2nd argument without manual setting whether the extension is shared. For example, to simplify usage in SAPIs where additional libraries need to be appended but they shouldn't go to the global LIBS. This can be then used in PHP-FPM SAPI to link apparmor, SELinux, systemd, etc.
show more ...
|
#
9e94d2b0 |
| 08-Jul-2024 |
Peter Kokot |
Autotools: Refactor builtin checks (#14835) This creates a single M4 macro PHP_CHECK_BUILTIN and removes other PHP_CHECK_BUILTIN_* macros. Checks are wrapped in AC_CACHE_CHECK and PH
Autotools: Refactor builtin checks (#14835) This creates a single M4 macro PHP_CHECK_BUILTIN and removes other PHP_CHECK_BUILTIN_* macros. Checks are wrapped in AC_CACHE_CHECK and PHP_HAVE_BUILTIN_* CPP macro definitions are defined to 1 if builtin is found and undefined if not. This also changes all PHP_HAVE_BUILTIN_ symbols to be either undefined or defined (to value 1) and syncs all #if/ifdef/defined usages of them in the php-src code. This way it is simpler to use them because they don't need to be defined to value 0 on Windows, for example. This is done as previous usages in php-src were mixed and on many places they were only checked with ifdef.
show more ...
|
#
3d8bd8fe |
| 07-Jul-2024 |
Peter Kokot |
Remove unused HAVE_PHPDBG (#14864) This is not defined on Windows and isn't used. Also phpdbg doesn't install any headers to the public usage.
|
#
1bdf9aa3 |
| 07-Jul-2024 |
Peter Kokot |
Remove support for EOL Apache 2.0 and 2.2 in favor of 2.4+ (#14664) Apache 2.2 has been marked as EOL in December 2017 and doesn't receive security patches any longer. Also, most *nix di
Remove support for EOL Apache 2.0 and 2.2 in favor of 2.4+ (#14664) Apache 2.2 has been marked as EOL in December 2017 and doesn't receive security patches any longer. Also, most *nix distributions and packages mostly support 2.4 as minimum by now. On Windows, this removes the configure option --enable-apache2-2handler and merges the --enable-apache2handler and --enable-apache2-4handler into a single option with favoring the --enable-apache2handler. - The upstream MODULE_MAGIC_NUMBER is deprecated in favor of MODULE_MAGIC_NUMBER_MAJOR in apache2/ap_mmn.h - The initial upstream MODULE_MAGIC_NUMBER_MAJOR was 20111025 in Apache 2.4.0 - The upstream APLOG_USE_MODULE is always available since Apache 2.3.6 - The upstream CORE_PRIVATE is unnecessary and ignored since Apache 2.4.0 See: https://forum.apachehaus.com/news-general-discussion/apache-2-2-users-your-time-is-running-out/ Discussion: https://news-web.php.net/php.internals/124067
show more ...
|
#
e9254494 |
| 07-Jul-2024 |
Peter Kokot |
Autotools: Simplify POSIX Threads check (#14855) The PTHREADS_CHECK is using cache variables so it is run only once early during the configuration phase, before including SAPI and other
Autotools: Simplify POSIX Threads check (#14855) The PTHREADS_CHECK is using cache variables so it is run only once early during the configuration phase, before including SAPI and other M4 files. This removes the TSRM_CHECK_PTHREADS macro and moves the POSIX Threads check after the PHP_THREAD_SAFETY variable is set in configure.ac. The check and error throw in PHP_BUILD_THREAD_SAFE is also joing into this single check. This removes the redundant tsrm.m4 file and PHP_CONFIGURE_PART call for TSRM as it doesn't run any configuration checks anymore.
show more ...
|
#
b41e90c6 |
| 06-Jul-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix bug #81481 (xml_get_current_byte_index limited to 32-bit numbers on 64-bit builds) (#14845) The return value is long in both expat and expat2 (with XML_LARGE_SIZE not set).
|
#
d7ddf83d |
| 05-Jul-2024 |
Peter Kokot |
Autotools: Refactor AVX-512 checks (#14831) * Autotools: Refactor AVX-512 checks - CS synced - checks wrapped in AC_CACHE_CHECK - CPP macros PHP_HAVE_AVX512_SUPPORTS and PHP
Autotools: Refactor AVX-512 checks (#14831) * Autotools: Refactor AVX-512 checks - CS synced - checks wrapped in AC_CACHE_CHECK - CPP macros PHP_HAVE_AVX512_SUPPORTS and PHP_HAVE_AVX512_VBMI_SUPPORTS are now either defined to 1 or undefined to avoid manual defining on Windows (previously they should be either 0 or 1) * [skip ci] Add basic macros help texts
show more ...
|
#
1a380989 |
| 04-Jul-2024 |
Peter Kokot |
Remove HAVE_STRPTIME_DECL_FAILS (#14821) The strptime, where available, needs the _GNU_SOURCE defined or compiler flag -std=gnuXX appended to be declared in time.h. PHP's strptime is
Remove HAVE_STRPTIME_DECL_FAILS (#14821) The strptime, where available, needs the _GNU_SOURCE defined or compiler flag -std=gnuXX appended to be declared in time.h. PHP's strptime is also deprecated as of PHP 8.1. This removes the HAVE_STRPTIME_DECL_FAILS in favor of a simpler AC_CHECK_DECL check and HAVE_DECL_STRPTIME CPP macro.
show more ...
|