#
711e45203 |
| 18-Feb-2024 |
Peter Kokot |
Rename HAVE_PHP_SOAP symbol on Windows ext/soap (#13426) This syncs the symbol name with the *nix build, where HAVE_SOAP is defined.
|
#
25923987 |
| 16-Feb-2024 |
Peter Kokot |
Refactor PHP_SOCKADDR_CHECKS (#13406) Instead of the project macro, the sockaddr_storage and sockaddr.sa_len can be checked with the AC_CHECK_TYPES and AC_CHECK_MEMBERS by including
Refactor PHP_SOCKADDR_CHECKS (#13406) Instead of the project macro, the sockaddr_storage and sockaddr.sa_len can be checked with the AC_CHECK_TYPES and AC_CHECK_MEMBERS by including the sys/socket.h. Some systems (~1988) didn't include the sys/types.h in the socket.h (obsolete on current systems). These macros by default define the HAVE_STRUCT_SOCKADDR_STORAGE and HAVE_STRUCT_SOCKADDR_SA_LEN.
show more ...
|
#
95887962 |
| 15-Feb-2024 |
Peter Kokot |
Use AC_CHECK_TYPES for checking struct flock (#13397) The struct flock is defined in fcntl.h, if system has it. This removes redundant PHP_STRUCT_FLOCK M4 macro in favor of the AC_CHECK_
Use AC_CHECK_TYPES for checking struct flock (#13397) The struct flock is defined in fcntl.h, if system has it. This removes redundant PHP_STRUCT_FLOCK M4 macro in favor of the AC_CHECK_TYPES, which by default defines symbol HAVE_STRUCT_FLOCK.
show more ...
|
#
68691665 |
| 13-Feb-2024 |
Peter Kokot |
Remove obsolete PHP_WITH_SHARED M4 macro (#13380) This macro is obsolete in favor of the PHP_ARG_WITH macro. It was once used in combination with the AC_ARG_WITH macro to determine, whet
Remove obsolete PHP_WITH_SHARED M4 macro (#13380) This macro is obsolete in favor of the PHP_ARG_WITH macro. It was once used in combination with the AC_ARG_WITH macro to determine, whether the extension has been configured as shared.
show more ...
|
#
c1609976 |
| 12-Feb-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[ci skip] Update UPGRADING.INTERNALS for "%S" modifier
|
#
eb76a830 |
| 11-Feb-2024 |
Peter Kokot |
Remove PHP atomic includes and PHP_DEFINE M4 macro (#13372) PHP_DEFINE was introduced with the PHP 5 build system 9d9d39a0de3bec962c343051011f5a2ed7d7b242 and then refactored via 350
Remove PHP atomic includes and PHP_DEFINE M4 macro (#13372) PHP_DEFINE was introduced with the PHP 5 build system 9d9d39a0de3bec962c343051011f5a2ed7d7b242 and then refactored via 350de12bc24472ccf20ff9a8b39a6da0185c070d. This was once used to put defined constants into a single file to have more fine-graned dependencies (atomic includes). Since no known PHP extension is using this and it makes very little sense to use this, this M4 macro can be removed in favor of the Autoconf native way using AC_DEFINE and the usual included files php_config.h and config.h. - Generated unused include directory removed - Remove include dir from DEFS - Remove also include dir from PDO checks
show more ...
|
#
250547c7 |
| 11-Feb-2024 |
Peter Kokot |
Remove unused symbol HAVE_BSD_ICONV (#13373)
|
#
41e3044f |
| 09-Feb-2024 |
Peter Kokot |
Remove obsolete check for missing fclose declaration (#13360) SunOS 4.1.4 from 1994 didn't have fclose declared in standard header stdio.h. This doesn't need to be checked anymore, as fc
Remove obsolete check for missing fclose declaration (#13360) SunOS 4.1.4 from 1994 didn't have fclose declared in standard header stdio.h. This doesn't need to be checked anymore, as fclose is part of the C89+ standard and declaration is present on Solaris 10 (SunOS 5.10) and later.
show more ...
|
#
5752bbda |
| 07-Feb-2024 |
Peter Kokot |
[skip ci] Add oci extensions notes to upgrading docs
|
#
e76f9e2b |
| 07-Feb-2024 |
Peter Kokot |
Remove DARWIN symbol (#13346) When targeting Darwin systems (macOS, etc.), the compiler defines the __APPLE__ symbol, which should be sufficient and a more established detection meth
Remove DARWIN symbol (#13346) When targeting Darwin systems (macOS, etc.), the compiler defines the __APPLE__ symbol, which should be sufficient and a more established detection method practice in these cases.
show more ...
|
#
f9cfd40f |
| 06-Feb-2024 |
Peter Kokot |
Refactor utsname.domainname struct member Autoconf check (#13336) * Refactor utsname.domainname struct member Autoconf check Autoconf's AC_CHECK_MEMBERS macro (available since Autoc
Refactor utsname.domainname struct member Autoconf check (#13336) * Refactor utsname.domainname struct member Autoconf check Autoconf's AC_CHECK_MEMBERS macro (available since Autoconf 2.50) can be used instead of the compile check. This was originally implemented for IRIX compatibility, when Autoconf 2.13 didn't have the struct members checking macro yet. Macro by default here defines the HAVE_STRUCT_UTSNAME_DOMAINNAME symbol. * Remove also redundant DARWIN symbol check Checking in the configuration step also correctly detects missing struct member on Darwin systems (macos...).
show more ...
|
#
631bc816 |
| 06-Feb-2024 |
Ilija Tovilo |
Implement stackless internal function calls Co-authored-by: Dmitry Stogov <dmitry@zend.com> Closes GH-12461
|
#
1cc0a167 |
| 04-Feb-2024 |
Peter Kokot |
[skip ci] Add note about ext/imap removal in upgrading docs The imap extension has been moved to PECL. Adding a note about configure options changes also in the UPGRADING.INTERNALS for e
[skip ci] Add note about ext/imap removal in upgrading docs The imap extension has been moved to PECL. Adding a note about configure options changes also in the UPGRADING.INTERNALS for easier build scripts adjustments.
show more ...
|
#
97b3b455 |
| 01-Feb-2024 |
Tim Düsterhus |
random: Move CSPRNG API into php_random_csprng.h (#13290) This allows consumers of just the CSPRNG to include a much smaller header. It also allows to verify at a glance whether a source
random: Move CSPRNG API into php_random_csprng.h (#13290) This allows consumers of just the CSPRNG to include a much smaller header. It also allows to verify at a glance whether a source file might use non-secure randomness. This commit includes the new header wherever the CSPRNG is used, possibly replacing the inclusion of php_random.h if nothing else is used, but also includes it in the main php_random.h header for compatibility. Somewhat related to 45f8cfaf104f504340b0073b9736bb50a88d70a1, 2b30f18708b4f73d2c1d29d3a92a606ebdc5ac4c, and b14dd85dca3b67a5462f5ed9b6aa0dc22beb615c.
show more ...
|
#
649fafb5 |
| 01-Feb-2024 |
Peter Kokot |
Remove HAVE_JSON symbol (#13277) The json extension is always available as of php 8.0. HAVE_JSON was also never defined for Windows builds.
|
#
b3bdc236 |
| 30-Jan-2024 |
Peter Kokot |
Remove unused Makefile variables FIBER_ASSEMBLER and FIBER_ASM_ARCH In Windows build system these were replaced with common PHP_ASSEMBLER and FIBER_ASM_ABI when adjusting for the arm64.
Remove unused Makefile variables FIBER_ASSEMBLER and FIBER_ASM_ARCH In Windows build system these were replaced with common PHP_ASSEMBLER and FIBER_ASM_ABI when adjusting for the arm64. Closes GH-13263
show more ...
|
#
d5dae8bd |
| 17-Jan-2024 |
Peter Kokot |
[skip ci] Update upgrading docs for build related changes (#13176) This updates the UPGRADING documents with current build system changes done since the PHP-8.3 release.
|
#
90785dd8 |
| 12-Jan-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[RFC] Improve callbacks in ext/dom and ext/xsl (#12627)
|
#
b1f5ca59 |
| 12-Jan-2024 |
Tim Düsterhus |
Remove ext/random backwards-compatibility headers (#13108) When ext/random was initially added in PHP 8.2, these headers started “forwarding” to the new ext/random/php_random.h to reduce
Remove ext/random backwards-compatibility headers (#13108) When ext/random was initially added in PHP 8.2, these headers started “forwarding” to the new ext/random/php_random.h to reduce the impact on existing extensions. As master already contains some breaking changes of the internal API of ext/random and as the last PHP version without ext/random will be EOL once master is released, it appears appropriate to drop these headers now.
show more ...
|
#
97267215 |
| 10-Jan-2024 |
David CARLIER |
general signatures discrepencies fixes (#13122)
|
#
162e1dce |
| 09-Jan-2024 |
Tim Düsterhus |
random: Optimize data flow for the `generate` function of native engines (#13043) Instead of returning the generated `uint64_t` and providing the size (i.e. the number of bytes of the ge
random: Optimize data flow for the `generate` function of native engines (#13043) Instead of returning the generated `uint64_t` and providing the size (i.e. the number of bytes of the generated value) out-of-band via the `last_generated_size` member of the `php_random_status` struct, the `generate` function is now expected to return a new `php_random_result` struct containing both the `size` and the `result`. This has two benefits, one for the developer: It's no longer possible to forget setting `last_generated_size` to the correct value, because it now happens at the time of returning from the function. and the other benefit is for performance: The `php_random_result` struct will be returned as a register pair, thus the `size` will be directly available without reloading it from main memory. Checking a simplified version of `php_random_range64()` on Compiler Explorer (“Godbolt”) with clang 17 shows a single change in the resulting assembly showcasing the improvement (https://godbolt.org/z/G4WjdYxqx): - add rbp, qword ptr [r14] + add rbp, rdx Empirical testing confirms a measurable performance increase for the `Randomizer::getBytes()` method: <?php $e = new Random\Engine\Xoshiro256StarStar(0); $r = new Random\Randomizer($e); var_dump(strlen($r->getBytes(100000000))); goes from 250ms (before the change) to 220ms (after the change). While generating 100 MB of random data certainly is not the most common use case, it confirms the theoretical improvement in practice.
show more ...
|
#
03547f68 |
| 03-Jan-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove properties field from php_libxml_node_object (#13062) This shrinks the struct from 80 bytes to 72 bytes. This was unused internally, I did not find users externally via GitHub
Remove properties field from php_libxml_node_object (#13062) This shrinks the struct from 80 bytes to 72 bytes. This was unused internally, I did not find users externally via GitHub search. The intention for this was that it could be used for attaching extra data as a 3rd party to a node. However, there are better mechanisms for that like using actual objects.
show more ...
|
#
5d853788 |
| 17-Dec-2023 |
Marc Bennewitz |
[ci skip] Added UPGRADING entry for GH-12413 Closes GH-12964.
|
#
642e1114 |
| 11-Dec-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Minor pcre optimizations (#12923) * Update signature of pcre API This changes the variables that are bools to actually be bools instead of ints, which allows some additional opt
Minor pcre optimizations (#12923) * Update signature of pcre API This changes the variables that are bools to actually be bools instead of ints, which allows some additional optimization by the compiler (e.g. removing some ternaries and move extensions). It also gets rid of the use_flags argument because that's just the same as flags == 0. This reduces the call frame. * Use zend_string_release_ex where possible * Remove duplicate symbols from strchr * Avoid useless value conversions * Use a raw HashTable* instead of a zval * Move condition * Make for loop cheaper by reusing a recently used value as start iteration index * Remove useless condition This can't be true if the second condition is true because it would require the string to occupy the entire address space. * Upgrading + remark
show more ...
|
#
b34b4d54 |
| 14-Oct-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix #44383: PHP DateTime not converted to xsd:datetime Closes GH-12437. Closes GH-11725.
|