]>
granicus.if.org Git - php/log
Nikita Popov [Thu, 23 Jul 2020 13:53:15 +0000 (15:53 +0200)]
Cleanup SPL instantiation code
Christoph M. Becker [Thu, 23 Jul 2020 09:10:11 +0000 (11:10 +0200)]
Fix #78236: convert error on receiving variables when duplicate [
When an input variable name contains a non matched open bracket, we not
only have to replace that with an underscore, but also all following
forbidden characters.
Christoph M. Becker [Thu, 23 Jul 2020 13:43:02 +0000 (15:43 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79884: PHP_CONFIG_FILE_PATH is meaningless
Christoph M. Becker [Thu, 23 Jul 2020 13:40:48 +0000 (15:40 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79884: PHP_CONFIG_FILE_PATH is meaningless
Christoph M. Becker [Wed, 22 Jul 2020 08:48:15 +0000 (10:48 +0200)]
Fix #79884: PHP_CONFIG_FILE_PATH is meaningless
It does not make sense to make assumptions about `PHP_CONFIG_FILE_PATH`
during build time, since that value is never used during run time on
Windows. Since there is no `--with-config-file-path` on Windows
either, we define `PHP_CONFIG_FILE_PATH` as `""`.
Dmitry Stogov [Thu, 23 Jul 2020 12:18:28 +0000 (15:18 +0300)]
Don't record "fake" closures
Nikita Popov [Wed, 22 Jul 2020 14:03:06 +0000 (16:03 +0200)]
Remove no longer needed stdint compatibility defines
Closes GH-5886.
Dmitry Stogov [Thu, 23 Jul 2020 10:39:49 +0000 (13:39 +0300)]
We track only arguments of user functions on abstract stack
Dmitry Stogov [Thu, 23 Jul 2020 09:26:34 +0000 (12:26 +0300)]
Fixed 32-bit build
Dmitry Stogov [Thu, 23 Jul 2020 09:16:58 +0000 (12:16 +0300)]
Revert "Fixed DynASM failure"
This reverts commit
62ca6b567cdae0f8f7e02e6e2ebe6bb64ee1dd3c .
Dmitry Stogov [Thu, 23 Jul 2020 09:13:33 +0000 (12:13 +0300)]
Fixed DynASM failure
Dmitry Stogov [Thu, 23 Jul 2020 09:08:07 +0000 (12:08 +0300)]
Avoid register reloading
Nikita Popov [Thu, 23 Jul 2020 08:35:40 +0000 (10:35 +0200)]
Fix some clang warnings
Nikita Popov [Thu, 23 Jul 2020 07:58:17 +0000 (09:58 +0200)]
Try to fix 32-bit NTS build
Christopher Jones [Thu, 23 Jul 2020 06:31:33 +0000 (16:31 +1000)]
Make test decimal to binary conversion expectation more tolerant
Christopher Jones [Thu, 23 Jul 2020 06:29:51 +0000 (16:29 +1000)]
Fix cut/paste error in expected test output
Christoph M. Becker [Wed, 22 Jul 2020 20:57:05 +0000 (22:57 +0200)]
Fix build
MSVC is pretty picky there, so we add the `ZEND_VOIDP` cast.
Christoph M. Becker [Wed, 22 Jul 2020 18:47:16 +0000 (20:47 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix brittle test
Christoph M. Becker [Wed, 22 Jul 2020 18:46:28 +0000 (20:46 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix brittle test
Christoph M. Becker [Wed, 22 Jul 2020 18:45:55 +0000 (20:45 +0200)]
Fix brittle test
This test fails occasionally due to timing issues, because the session
file may have been unlinked by the first `session_start()`'s GC. We
adapt the test expectation to this reality.
Christoph M. Becker [Wed, 22 Jul 2020 18:34:21 +0000 (20:34 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix minor memory leak of CG(script_encoding_list)
Christoph M. Becker [Wed, 15 Jul 2020 15:17:22 +0000 (17:17 +0200)]
Fix minor memory leak of CG(script_encoding_list)
This only leaks at the end of the process, so per se not an issue, but
the leak is caught by MSVC's CRT leak checker, so we better properly
clean up to avoid false positives.
Dmitry Stogov [Wed, 22 Jul 2020 17:03:50 +0000 (20:03 +0300)]
Revert "Disable tracing JIT on AppVeyor"
This reverts commit
a986933ddeff664367d11bebaca2ea6977dbce62 .
Tracing JIT for Windows is already fixed.
twosee [Wed, 22 Jul 2020 16:59:00 +0000 (00:59 +0800)]
Fix warnings of strict-prototypes
Closes GH-5887.
twosee [Wed, 22 Jul 2020 14:29:30 +0000 (22:29 +0800)]
Change type of max_num_args to uint32_t
Closes GH-5885.
twosee [Wed, 22 Jul 2020 16:34:52 +0000 (00:34 +0800)]
Export zend_register_error_notify_callback() with ZEND_API
Nikita Popov [Wed, 22 Jul 2020 16:26:40 +0000 (18:26 +0200)]
Accept unsigned instead of enum pdo_attribute_type
Driver-specific options get passed to these functions, which are
not part of the pdo_attribute_type enum. Newer GCC versions don't
like that. Accept a simple integr type instead.
Dmitry Stogov [Wed, 22 Jul 2020 14:49:51 +0000 (17:49 +0300)]
Reserve WIN64 shadow space
Nikita Popov [Wed, 22 Jul 2020 13:45:31 +0000 (15:45 +0200)]
php.ini cleanup
[ci skip]
Dmitry Stogov [Wed, 22 Jul 2020 12:04:17 +0000 (15:04 +0300)]
Separate and fix deoptimization code generator
Nikita Popov [Mon, 15 Jun 2020 09:50:55 +0000 (11:50 +0200)]
Treat namespaced names as single token
Namespace names are now lexed as single tokens of type
T_NAME_QUALIFIED, T_NAME_FULLY_QUALIFIED or T_NAME_RELATIVE.
RFC: https://wiki.php.net/rfc/namespaced_names_as_token
Closes GH-5827.
Nikita Popov [Thu, 21 Feb 2019 16:38:25 +0000 (17:38 +0100)]
Improved number to string comparison semantics
RFC: https://wiki.php.net/rfc/string_to_number_comparison
Closes GH-3886.
Dmitry Stogov [Wed, 22 Jul 2020 10:01:11 +0000 (13:01 +0300)]
Prevent incorrect trasing JIT TSSA usage for range() result type inference
Nikita Popov [Wed, 22 Jul 2020 09:31:15 +0000 (11:31 +0200)]
Check dual_it validity in CallbackFilterIterator::accept()
Avoid accessing intern->u.cbfilter null pointer, though it's
harmless here.
Nikita Popov [Wed, 22 Jul 2020 09:10:42 +0000 (11:10 +0200)]
Drop no-op dasm_growpc() call
This doesn't do anything, as maxpc=0 is passed. However, ubsan
complains about the memset of a null pointer, so avoid it.
Nikita Popov [Wed, 22 Jul 2020 09:01:35 +0000 (11:01 +0200)]
Mark zend_jit_patch memory accesses as unaligned
This prevents ubsan from complaining.
Nikita Popov [Wed, 22 Jul 2020 08:52:34 +0000 (10:52 +0200)]
Move checks after zpp in opcache_is_script_cached()
Nikita Popov [Wed, 22 Jul 2020 08:21:29 +0000 (10:21 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79881
Nikita Popov [Wed, 22 Jul 2020 08:20:37 +0000 (10:20 +0200)]
Fixed bug #79881
Christopher Jones [Wed, 22 Jul 2020 07:30:20 +0000 (17:30 +1000)]
Update NEWS
George Peter Banyard [Mon, 20 Jul 2020 16:34:57 +0000 (17:34 +0100)]
Use ZPP callable check for oci_register_taf_callback()
George Peter Banyard [Wed, 20 May 2020 14:20:33 +0000 (16:20 +0200)]
Some cleanup in OCI8 extension for PHP 8
Christoph M. Becker [Wed, 22 Jul 2020 06:51:08 +0000 (08:51 +0200)]
Disable tracing JIT on AppVeyor
This is a temporary measure until the current issues[1] are resolved.
[1] <https://github.com/php/php-src/commit/
0e1e991a89528b571a0271a3f24f9d3c2c36e23a #commitcomment-
40805659 >
Dmitry Stogov [Tue, 21 Jul 2020 19:58:24 +0000 (22:58 +0300)]
Fix deoptimization info and corresponding memory leaks
Dmitry Stogov [Tue, 21 Jul 2020 17:54:33 +0000 (20:54 +0300)]
Fixed bug #79864 (JIT segfault in Symfony OptionsResolver)
Tyson Andre [Wed, 1 Jul 2020 17:28:39 +0000 (13:28 -0400)]
Support optional comma in closure use list
RFC: https://wiki.php.net/rfc/trailing_comma_in_closure_use_list
Discussion: https://externals.io/message/110715
The release manager has agreed to allow merging of RFCs that have near-unanimous
votes. If an RFC ends up not achieving the required 2/3 majority at the time the
announced voting period closes, this implementation commit will be reverted
in time for the feature freeze.
Closes GH-5793
Máté Kocsis [Tue, 21 Jul 2020 07:58:04 +0000 (09:58 +0200)]
Improve argument types and names in ext/ctype
Closes GH-5878
Nikita Popov [Tue, 21 Jul 2020 14:01:45 +0000 (16:01 +0200)]
Give zend_pass_function an arginfo
Now that the ZEND_ACC_VARIADIC flag is set, we should also make
sure there is a variadic arg that can be looked up.
Nikita Popov [Tue, 21 Jul 2020 13:30:59 +0000 (15:30 +0200)]
Tweak zend_test arginfo/zpp
Nikita Popov [Tue, 21 Jul 2020 13:29:44 +0000 (15:29 +0200)]
Fix incorrect initialization in date_sunrise()
Dmitry Stogov [Tue, 21 Jul 2020 13:15:11 +0000 (16:15 +0300)]
Switch to tracing JIT by default
Nikita Popov [Tue, 21 Jul 2020 12:58:35 +0000 (14:58 +0200)]
Fix arg/func info
* mysqli_get_server_info() cannot return null. The underlying API
is infallible.
* mysqli_select_db() func info is redundant.
* mb_detect_order() can only return array|true, not array|false.
Also make the func_info.phpt test that is supposed to catch these
kinds of issues actually work.
Máté Kocsis [Sun, 12 Jul 2020 10:40:37 +0000 (12:40 +0200)]
Cleanup argument handling of Zend functions and methods
Closes GH-5847
Remi Collet [Tue, 21 Jul 2020 12:43:39 +0000 (14:43 +0200)]
add ZipArchive::CM_XZ constant (in upcoming libzip 1.8.0)
Dmitry Stogov [Tue, 21 Jul 2020 12:39:13 +0000 (15:39 +0300)]
Fix type recording and side exit information for FE_FETCH_* instructions
Nikita Popov [Fri, 17 Jul 2020 13:50:06 +0000 (15:50 +0200)]
Run arginfo / zpp mismatch tests for methods as well
As a side-effect, this also catches issues where classes are not
prepared for use with newInstanceWithoutConstructor.
Nikita Popov [Thu, 16 Jul 2020 18:56:44 +0000 (20:56 +0200)]
Check for missing arginfo arguments
Internal functions error when too many arguments are passed. Make
this part of the verification we do in debug builds. This will
help avoid cases where an argument is missing in the stubs,
as recently encountered in
6d96f0f .
Dmitry Stogov [Tue, 21 Jul 2020 11:11:19 +0000 (14:11 +0300)]
Avoid recording of uninitialized variable
Nikita Popov [Tue, 21 Jul 2020 09:10:53 +0000 (11:10 +0200)]
Check for redundant func info
Nikita Popov [Tue, 21 Jul 2020 10:58:52 +0000 (12:58 +0200)]
Separate __call and __soapCall implementations
This is overly pedantic, but allows us to enable more arginfo
consistency checks.
Nikita Popov [Tue, 21 Jul 2020 10:47:49 +0000 (12:47 +0200)]
Add stubs for PDO PGSql extension methods
Nikita Popov [Tue, 21 Jul 2020 10:33:25 +0000 (12:33 +0200)]
Add stubs for PDO SQLite extension methods
Putting these under a dummy PDO_SQLite_Ext class.
Dmitry Stogov [Tue, 21 Jul 2020 10:26:32 +0000 (13:26 +0300)]
Disable JIT for PHPDBG
Nikita Popov [Tue, 21 Jul 2020 10:02:00 +0000 (12:02 +0200)]
Fix UConvert::getErrorMessage() leak on zpp failure
Nikita Popov [Tue, 21 Jul 2020 09:59:18 +0000 (11:59 +0200)]
Move SOAP_SERVER_BEGIN_CODE() after zpp
This is still very dubious, because there are lots of other "returns"
between the BEGIN and END -- won't that end up not restoring the
original state?
Nikita Popov [Tue, 21 Jul 2020 09:53:00 +0000 (11:53 +0200)]
Make ReflectionGenerator final
This class is not safe against malicious extension / instantiation.
Nikita Popov [Tue, 21 Jul 2020 08:42:02 +0000 (10:42 +0200)]
Stricter verification of func info against arg info
Make sure they're actually the same up to cases where func info
allows more accurate expressions. There are some awkward edge cases
around true/false/null limitations in union types.
Nikita Popov [Tue, 21 Jul 2020 09:20:27 +0000 (11:20 +0200)]
Adjust Doctrine workaround in community job
[ci skip]
Dmitry Stogov [Mon, 20 Jul 2020 22:50:29 +0000 (01:50 +0300)]
Switch to tracing JIT by default
Dmitry Stogov [Tue, 21 Jul 2020 09:21:47 +0000 (12:21 +0300)]
Use different temporary register
Gabriel Caruso [Tue, 21 Jul 2020 09:10:02 +0000 (11:10 +0200)]
Next is PHP 8.0.0beta1
Nikita Popov [Tue, 21 Jul 2020 09:07:59 +0000 (11:07 +0200)]
Remove some redundant func info
This is fully covered by arginfo.
The array_merge_recursive() RC information was also wrong,
it should be the same as array_merge().
Gabriel Caruso [Tue, 21 Jul 2020 08:43:08 +0000 (08:43 +0000)]
Update NEWS for PHP 8.0.0alpha3
Dmitry Stogov [Tue, 21 Jul 2020 08:49:15 +0000 (11:49 +0300)]
Fixed support for 64-bit constants
Nikita Popov [Tue, 21 Jul 2020 08:39:03 +0000 (10:39 +0200)]
Fix mb_ereg_search* arg and func info
Nikita Popov [Tue, 21 Jul 2020 08:32:08 +0000 (10:32 +0200)]
Fix readline test after callback changes
This one requires libedit and was probably missed for that reason.
Nikita Popov [Tue, 21 Jul 2020 08:25:22 +0000 (10:25 +0200)]
Remove null from highlight_* return types
Also fix show_source() discrepancy in func_info.
Derick Rethans [Tue, 21 Jul 2020 08:24:27 +0000 (09:24 +0100)]
Merge branch 'PHP-7.4'
Derick Rethans [Tue, 21 Jul 2020 08:23:51 +0000 (09:23 +0100)]
Prepare for 7.4.10
Nikita Popov [Tue, 21 Jul 2020 08:17:21 +0000 (10:17 +0200)]
Remove bool return type from assert_options
Not seeing any way this function can return bool.
Nikita Popov [Tue, 21 Jul 2020 08:04:11 +0000 (10:04 +0200)]
Fix iptcembed func info
This function can return true with $spool >= 2.
Nikita Popov [Mon, 20 Jul 2020 14:39:43 +0000 (16:39 +0200)]
Call zpp_none in PharFileInfo::__destruct()
Using __destruct() with internal classes is dubious, but not so
simple to avoid here because the code extends SPL classes.
Christoph M. Becker [Tue, 21 Jul 2020 07:53:39 +0000 (09:53 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
7.3 is now 7.3.22-dev
Christoph M. Becker [Tue, 21 Jul 2020 07:52:04 +0000 (09:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
7.3 is now 7.3.22-dev
Christoph M. Becker [Tue, 21 Jul 2020 07:18:07 +0000 (09:18 +0200)]
7.3 is now 7.3.22-dev
Dmitry Stogov [Tue, 21 Jul 2020 06:58:36 +0000 (09:58 +0300)]
Fixed pg_select() function info
George Peter Banyard [Mon, 20 Jul 2020 23:52:50 +0000 (00:52 +0100)]
Use ZPP callable check in readline extension
George Peter Banyard [Mon, 20 Jul 2020 23:19:32 +0000 (00:19 +0100)]
Use ZPP callable for PDO Sqlite
Dmitry Stogov [Mon, 20 Jul 2020 22:49:01 +0000 (01:49 +0300)]
Fixed tracing JIT exception handling
Máté Kocsis [Mon, 6 Jul 2020 09:28:10 +0000 (11:28 +0200)]
Explode _php_image_output_ctx() into multiple functions
Closes GH-5844
Dmitry Stogov [Mon, 20 Jul 2020 20:14:23 +0000 (23:14 +0300)]
Fixed VM interrupt handling
Dmitry Stogov [Mon, 20 Jul 2020 18:04:14 +0000 (21:04 +0300)]
Keep CPU regesters used by deoptimizer
Dmitry Stogov [Mon, 20 Jul 2020 17:57:12 +0000 (20:57 +0300)]
Fixed tracing JIT for VM without global register variables
Nikita Popov [Mon, 20 Jul 2020 14:56:20 +0000 (16:56 +0200)]
Preserve original ce_flags when registering class
Bug that regularly sneaks in: ZEND_ACC_FINAL is set before calling
zend_register_internal_class() and promptly gets ignored. Remove
this footgun by preserving flags from the original CE.
Nikita Popov [Mon, 20 Jul 2020 14:26:28 +0000 (16:26 +0200)]
Fetch pdo stmt after zpp
Nikita Popov [Mon, 20 Jul 2020 14:15:21 +0000 (16:15 +0200)]
Update method signature in test
Nikita Popov [Fri, 17 Jul 2020 15:18:03 +0000 (17:18 +0200)]
Use zpp for PDO fetch mode
Also changing the function signatures to accept variadic args
for the fetch params. If we're already breaking Doctrine anyway,
we may as well do it properly.
Nikita Popov [Mon, 20 Jul 2020 13:29:47 +0000 (15:29 +0200)]
Fix bug #79857: Add upgrading note for exit dtor change
[ci skip]
Nikita Popov [Mon, 20 Jul 2020 13:15:23 +0000 (15:15 +0200)]
Fix bug #79868
This simply restores the code from PHP 7.4 which I incorrectly
"simplified" in master.
Nikita Popov [Mon, 20 Jul 2020 12:56:48 +0000 (14:56 +0200)]
Add common code for magic method assignment
This was repeated three times.