Commit Graph

136004 Commits

Author SHA1 Message Date
武田 憲太郎
b7dd3d8347
ext/pdo_pgsql: Retrieve the memory usage of the query result resource (#14260)
`getAttribute()` can now retrieve the memory usage of query results.
`PDO::PGSQL_ATTR_RESULT_MEMORY_SIZE` was added for this feature.

closes #14260
2024-05-20 09:08:54 +09:00
Niels Dossche
ba534e70e6
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix undefined behaviour in fastcgi.c (#14269)
2024-05-19 22:57:08 +02:00
Niels Dossche
6bb6ff2adb
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix undefined behaviour in fastcgi.c (#14269)
2024-05-19 22:55:02 +02:00
Niels Dossche
ad5138a341
Fix undefined behaviour in fastcgi.c (#14269)
Arithmetic on NULL pointers is undefined.
2024-05-19 22:54:06 +02:00
Máté Kocsis
8de92952dd
Add cast_object handler for objects which were recently converted from resources 2024-05-19 21:41:07 +02:00
Dmitry Stogov
13d5c812e0
JIT: Add CPU registers support for FETCH_OBJ_R (#14253) 2024-05-19 22:18:30 +03:00
Peter Kokot
bc09cd2bc8
Fix the aligned variable attribute check (#14211)
By default compilers may not treat attribute warnings as errors when
encountering an unknown __attribute__, unless some error option is
provided (-Werror=attributes, -Werror=unknown-attributes, -Werror...).
This fixes the check and wraps it into a separate M4 macro to be
extendable in the future if needed. It checks if conftest.err file was
generated by the compilation check when warnings appear. Also, PHP check
is a bit customized by using __alignof__ keyword, so it is left in there
for now to not break existing checks.
2024-05-19 12:18:59 +02:00
Peter Kokot
52767343b2
Reduce unused variable warnings in config.log (#14264)
This reduces -Wunused-variable and -Wunused-but-set-variable warnings
generated in the Autoconf's config.log to comply with possible stricter
default compiler configuration on the system to avoid having false
results.
2024-05-18 18:28:20 +02:00
Niels Dossche
20fafa7524
Remove XML_GLOBAL_NAMESPACE (#14265)
This constant is only available if it is defined by libxml2, but it is
never defined because the minimum version of libxml2 that we support had
removed XML_GLOBAL_NAMESPACE already.
2024-05-18 16:24:08 +02:00
Peter Kokot
09d0e38ecf
Remove unsynced and unused HAVE_<extension> defines (#14233)
This syncs build system gaps of some extensions' definitions being
defined on Windows and some on *nix. These are not used anywhere and are
only defined in some build system and not the other:

* HAVE_INTL (was present only on Windows)
* HAVE_PDO_DBLIB (was present only on Autotools)
* HAVE_PDO_FIREBIRD (was present only on Autotools)
* HAVE_TOKENIZER (was present only on Windows)
2024-05-18 14:10:47 +02:00
KentarouTakeda
dde5c65bfd
ext/pdo_pgsql: fix typo (#14263) 2024-05-18 19:29:26 +09:00
Saki Takamachi
22c7250d50
ext/bcmath: Avoid unnecessary memset from _bc_do_add (#14257)
Apply the same changes as #14180 to _bc_do_add.
2024-05-18 07:00:47 +09:00
Máté Kocsis
f093015a6c
Fix class constant and property ID generation for the manual (#14249)
Related to https://github.com/php/doc-en/pull/3367
2024-05-17 20:30:16 +02:00
Tim Düsterhus
c2a9166ef0
Merge branch 'PHP-8.3'
* PHP-8.3:
  Make the `fcc` parameter `const` in `zend_call_known_fcc` (#14259)
2024-05-17 16:14:45 +02:00
Tim Düsterhus
a89d22cc0c
Make the fcc parameter const in zend_call_known_fcc (#14259)
This makes it legal to call the function from a caller that only has a `const`
pointer to the `fcc` to prevent accidental modification.
2024-05-17 16:14:16 +02:00
Kamil Tekiela
73abf4fe93
Merge branch 'PHP-8.3'
* PHP-8.3:
  Clear mysql error in fetch_into
2024-05-17 13:16:59 +02:00
Kamil Tekiela
05efcc245e
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Clear mysql error in fetch_into
2024-05-17 13:13:18 +02:00
Kamil Tekiela
a59868aef8
Clear mysql error in fetch_into
Closes GH-14256
2024-05-17 13:08:42 +02:00
Peter Kokot
b5b9c13c3d
Add missing MYSQLND_SHARED_LIBADD substitution (#14228)
This is used in Makefile when building mysqlnd as shared to get zlib and
crypto libraries linked in the mysqlnd.so (-lz -lcrypto). For static
build these are in the resulting binary like before.
2024-05-17 12:21:11 +02:00
Máté Kocsis
2097237da5
Migrate ext/dba resources to objects (#14239)
Related to https://wiki.php.net/rfc/resource_to_object_conversion and https://github.com/php/php-tasks/issues/6
2024-05-17 08:43:33 +02:00
Saki Takamachi
959ea5fb83
Avoid unnecessary memset (#14180)
Avoid unnecessary memset from `_bc_do_sub`
2024-05-17 08:03:34 +09:00
Tim Düsterhus
4988816126
Use zend_call_known_function() to call #[\SensitiveParameter]’s constructor (#14254)
`zend_call_method_with_1_params()` causes needless overhead, due to the
capability of looking up the function by name. It’s also very rarely used (only
in ext/spl).

`zend_call_known_function()` is the standard methodology to call a known
function and going through `Z_OBJCE_P()` avoids the repeated hardcoding of the
CE name.
2024-05-16 23:23:55 +02:00
Niels Dossche
596fdada15
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix nightly test failure (#14251)
2024-05-16 20:01:48 +02:00
Niels Dossche
cce922e49b
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix nightly test failure (#14251)
2024-05-16 20:01:38 +02:00
Niels Dossche
02b7d70fa9
Fix nightly test failure (#14251)
The created files have the same filename, creating conflicts. Fix this
by adding a unique suffix.
2024-05-16 20:00:46 +02:00
Peter Kokot
2a23c91ad5
Remove unused HAVE_PDO_SQLITELIB symbol (#14232)
Symbol isn't defined on Windows and is redundant since the SQLite
library is required for ext/pdo_sqlite and isn't bundled in php-src
anymore.
2024-05-16 15:21:20 +02:00
Ilija Tovilo
600d591cae
Omit FETCH_THIS in closures
Non-static closures are guaranteed to have $this. The existing comment
highlights this, but fails to handle it correctly.

Closes GH-14181
2024-05-16 12:28:11 +02:00
Dmitry Stogov
5e7baaaad1
JIT: Remove old restriction. FETCH_DIM_R supports regs for indexes.
This affects only function JIT.
2024-05-16 12:02:03 +03:00
David CARLIER
4ed1835f00
ext/pcntl: cpu affinity support for solaris/illumos. (#14199) 2024-05-15 19:43:27 +01:00
David CARLIER
0218af87f2
ext/pgsql: using fast ZPP api for calls. (#14099) 2024-05-15 19:32:02 +01:00
Dmitry Stogov
7843e72f3b
JIT: Avoid useless EG(exception) check in ASSIGN_DIM_OP (#14247) 2024-05-15 21:31:44 +03:00
Niels Dossche
be4d70537e
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix GH-14100: Corrected spelling mistake in php.ini files.
2024-05-15 19:48:11 +02:00
Niels Dossche
9e71697aba
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-14100: Corrected spelling mistake in php.ini files.
2024-05-15 19:48:00 +02:00
Marcus Xavier
32d21af296
Fix GH-14100: Corrected spelling mistake in php.ini files.
Closes GH-14138.
2024-05-15 19:46:52 +02:00
Peter Kokot
c1d71cfeea
Remove forgotten obsolete session INI directives (#14238)
The session.hash_function and session.hash_bits_per_character INI
directives have been removed in PHP 7.1:
3467526a65
2024-05-15 17:01:15 +02:00
Dmitry Stogov
5ef1824ebc
JIT: Improve x86_64 code generated for PHP Array Bounds Checks (#14246) 2024-05-15 16:38:23 +03:00
Dmitry Stogov
0eb68eb8d8
JIT: Fix incorrect deoptimization info
Fixes third recently introduced failure in "Nightly" "master_COMMUNUTY_asan" job
2024-05-15 14:22:20 +03:00
Dmitry Stogov
273c2de6a7
JIT: Fix incorrect PHP register allocation
Fixes 2 of 3 recently introduced failures in "Nightly"
"master_COMMUNUTY_asan" job
2024-05-15 12:46:58 +03:00
Máté Kocsis
43ac009c87
Add prefix for ext/odbc persistent resource hash
In order to make sure that it doesn't accidentally clash with other resource types
2024-05-15 09:17:13 +02:00
Dmitry Stogov
446ff6a742
JIT: Implement CPU register usage for ASSIGN_DIM_OP (#14236) 2024-05-14 23:35:31 +03:00
Dmitry Stogov
4a91c8a1be
JIT: Implement CPU register usage for ASSIGN_OP (#14235) 2024-05-14 22:54:00 +03:00
Niels Dossche
889f308e01
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix GH-14215: Cannot use FFI::load on CRLF header file with apache2handler
2024-05-14 19:56:05 +02:00
Niels Dossche
0e98a05a3d
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-14215: Cannot use FFI::load on CRLF header file with apache2handler
2024-05-14 19:52:19 +02:00
Niels Dossche
ebd1a36670
Fix GH-14215: Cannot use FFI::load on CRLF header file with apache2handler
Some modules may reset _fmode, which causes mangling of line endings.
Always be explicit like we do in other places where the native open call
is used.

Closes GH-14218.
2024-05-14 19:49:22 +02:00
Dmitry Stogov
c8920aaf94
JIT: JIT: Implement CPU register usage for ISSET_ISEMPTY_DIM (#14227) 2024-05-14 14:05:04 +03:00
Dmitry Stogov
64f4aca6ba
IT: Implement CPU register usage for FETCH_DIM_W (#14225) 2024-05-14 13:19:56 +03:00
Dmitry Stogov
bf7d4d7eb2
JIT: Implement CPU register usage for ASSIGN_DIM (#14224) 2024-05-14 12:10:28 +03:00
Tim Düsterhus
c90c4fe553
Add zend_get_attribute_object() (#14161)
* Add `zend_get_attribute_object()`

This makes the implementation for `ReflectionAttribute::newInstance()`
reusable.

* Add test for the stack trace behavior of ReflectionAttribute::newInstance()

This test ensures that the `filename` parameter for the fake stack frame is
functional. Without it, the stack trace would show `[internal function]` for
frame `#0`.

* Fix return type of `call_attribute_constructor`
2024-05-14 08:39:43 +02:00
Dmitry Stogov
89305574b2
JIT: Improve CPU register usage in FETCH_DIM_R, FETCH_DIM_IS and FETCH_LIST_R (#14222) 2024-05-14 01:12:01 +03:00
武田 憲太郎
77fa4c0fce
ext/pgsql: add pg_result_memory_size
Close GH-14214
2024-05-13 22:58:02 +01:00