Derick Rethans
7426b2277d
Merge branch 'PHP-7.4' into PHP-8.0
2021-10-07 17:03:12 +01:00
Derick Rethans
89dfe49321
Bump config.guess/config.sub in all supported branches to support Apple Silicon
2021-10-07 17:02:39 +01:00
Derick Rethans
8e61a3e3ac
Merge branch 'PHP-7.4' into PHP-8.0
2021-10-07 16:59:47 +01:00
Derick Rethans
cd0c32e7fb
Bump config.guess/config.sub in all supported branches to support Apple Silicon
2021-10-07 16:59:00 +01:00
Nikita Popov
b564113756
Check exception after undef var notice
...
For simple assignments, we may not emit an exception check elsewhere,
so perform it directly after the undef var notice.
2021-10-07 16:54:26 +02:00
Nikita Popov
08c29a657d
Handle undefined dim in assign_dim_helper
...
Not only the value can be undefined here, but the offset as well.
2021-10-07 15:35:16 +02:00
Nikita Popov
455837139e
Set opline before calling undef op helper
2021-10-07 14:38:02 +02:00
Dmitry Stogov
a743fd7633
JIT: Fixed wrong comparison skip
2021-10-07 15:27:56 +03:00
Dmitry Stogov
6ab36fb6f9
JIT: Fixed incorrect reference handling in PRE_INC/DEC_OBJ
2021-10-07 14:34:18 +03:00
Dmitry Stogov
cd45bd0a81
JIT: Fixed incorrect code generation for JMPZ
2021-10-07 13:48:28 +03:00
Nikita Popov
c69ffa8f84
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fixed bug #54350
2021-10-07 11:46:10 +02:00
Nikita Popov
1519770288
Fixed bug #54350
...
Don't allow calling fclose() on the stream while in the user
filter callback. This is basically the same protection as xp_ssl
streams use during callback invocations.
There are more issues in this general area (e.g. stack overflow
on stream_filter_remove), but this addresses freeing the stream
during the filter callback invocation at least.
2021-10-07 11:44:41 +02:00
Dmitry Stogov
8a0873020a
JIT: Fixed NaN handling
2021-10-06 16:35:33 +03:00
Dmitry Stogov
f681f9075c
JIT: Fixed register clobbering
2021-10-06 12:10:39 +03:00
Dmitry Stogov
69fb20f106
Fixed assign coalesce. "$a[0] ??= $a" should evaluate the right $a first.
2021-10-05 20:23:56 +03:00
Derick Rethans
0eb7a1576d
Merge branch 'PHP-7.4' into PHP-8.0
2021-10-05 17:25:57 +01:00
Derick Rethans
e5d35a3252
Prepare branch for 7.4.26-dev
2021-10-05 17:25:43 +01:00
Matteo Beccati
9af6882d28
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Add test for pg_put_line() and pg_end_copy()
2021-10-05 17:44:19 +02:00
Matteo Beccati
be36bf5aca
Add test for pg_put_line() and pg_end_copy()
2021-10-05 17:43:48 +02:00
Nikita Popov
11a9b036a8
Fix duplicate undef warning in assign_dim_op
...
In case of auto-vivification we were fetching dim twice and as
such also emitting the undef var warning twice.
2021-10-05 15:51:11 +02:00
Nikita Popov
f890c9c5e3
Fix return type verification with undef var
...
This was loading EG(uninitialized_value) into r0 rather than
FCARG1a.
However, if we fix this issue an existing test fails because
the undef var warning promoted to exception is not caught early
enough, so we need to explicitly check for the exception before
performing the type check.
2021-10-05 15:30:55 +02:00
Dmitry Stogov
22ef1fb832
Fixed SSA construction
2021-10-05 16:14:39 +03:00
Nikita Popov
c958adce70
POST_INC_OBJ/POST_DEC_OBJ don't have optional result
...
Possibly we should be encoding this in the opcode metadata, rather
than maintaining a separate list.
Fixes oss-fuzz #39503 .
2021-10-05 12:05:39 +02:00
Christoph M. Becker
9523542733
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Revert "Fix #81424 : PCRE2 10.35 JIT performance regression"
2021-10-05 11:50:31 +02:00
Christoph M. Becker
a19f655b84
Revert "Fix #81424 : PCRE2 10.35 JIT performance regression"
...
This reverts commit a2471383fe .
Fixing the performance regression, apparently fixes a functional
regression[1], so we revert for now.
[1] <https://github.com/PhilipHazel/pcre2/issues/21 >
Closes GH-7556.
2021-10-05 11:49:04 +02:00
Nikita Popov
bbd3f714d7
Fix COPY_TMP live range construction after optimization
...
If we optimize the FREE away, we should switch to constructing
a normal live range, rather than a split live range.
Fixes oss-fuzz #39548 .
2021-10-05 11:28:16 +02:00
Lauri Kenttä
cdcdb33080
Fix #81496 : CLI server logs wrong request method
2021-10-05 08:42:38 +02:00
Nikita Popov
a00d933242
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Disable failing FPM test
2021-10-04 23:31:31 +02:00
Nikita Popov
4c01bd2ade
Disable failing FPM test
...
Test fails intermittently, e.g.:
https://dev.azure.com/phpazuredevops/PHP/_build/results?buildId=20597&view=ms.vss-test-web.build-test-results-tab&runId=475324&resultId=115501&paneView=debug
Possibly this is because the two requests end up being processed
in sequence and no second process is spawned.
2021-10-04 23:30:14 +02:00
Jakub Zelenka
9ed95846a3
Merge branch 'PHP-7.4' into PHP-8.0
2021-10-04 21:55:21 +01:00
Jakub Zelenka
66a655fdf4
Add the actual test for FPM prod idle timeout test with 6s sleep
2021-10-04 21:54:32 +01:00
Jakub Zelenka
2cd69115d5
Merge branch 'PHP-7.4' into PHP-8.0
2021-10-04 21:53:34 +01:00
Jakub Zelenka
edfb347019
Add FPM prod idle timeout test with 6s sleep
2021-10-04 21:50:57 +01:00
sasezaki
e286313fa7
Fix bug #81474 : Make ReflectionAttribute non-final
...
This backports GH-7520 to PHP 8.0.
Closes GH-7545.
2021-10-04 14:39:46 +02:00
Christoph M. Becker
57a32c6a69
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #77978 : Dirname ending in colon unzips to wrong dir
2021-10-04 12:57:01 +02:00
Christoph M. Becker
e0c0de003b
Fix #77978 : Dirname ending in colon unzips to wrong dir
...
When making the relative path, we must not stop on a `:\` sequence in
the middle of the filename. This is only significant on Windows as it
may indicate an absolute filename, but this is already checked at the
beginning of the function.
Note that the bug and this patch affects all systems. However, on
Windows the file is no longer extracted at all, since Windows NTSF does
not allow filenames containing colons.
Closes GH-7528.
2021-10-04 12:55:34 +02:00
Nikita Popov
987aee10a9
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Revert "Add FPM prod idle timeout test"
2021-10-04 10:16:53 +02:00
Nikita Popov
69514e6ffb
Revert "Add FPM prod idle timeout test"
...
This reverts commit 08f52b1643 .
The newly added test fails.
2021-10-04 10:16:20 +02:00
Stanislav Malyshev
e9853e4f0c
[ci skip] Fix missing NEWS
2021-10-03 20:48:03 -07:00
Stanislav Malyshev
6eac476de1
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
[ci skip] Add missing NEWS
2021-10-03 20:44:01 -07:00
Stanislav Malyshev
02778cddee
[ci skip] Add missing NEWS
2021-10-03 20:42:47 -07:00
Jakub Zelenka
ca3f20209f
Merge branch 'PHP-7.4' into PHP-8.0
2021-10-02 18:27:47 +01:00
Jakub Zelenka
08f52b1643
Add FPM prod idle timeout test
2021-10-02 18:26:18 +01:00
Christoph M. Becker
5db6e35843
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #81490 : ZipArchive::extractTo() may leak memory
2021-09-30 15:42:40 +02:00
Christoph M. Becker
4d44271415
Fix #81490 : ZipArchive::extractTo() may leak memory
...
We always need to free the CWD state.
Closes GH-7536.
2021-09-30 15:41:05 +02:00
Nikita Popov
e11faad233
Create reference wrappers in SEND_UNPACK if necessary
...
Even if we can't actually pass by reference, we still need to
create the REFERENCE wrapper to satisfy the calling convention.
The particular test case would crash with JIT, because the existence
of the reference was assumed.
Fixes oss-fuzz #39440 .
2021-09-30 14:55:48 +02:00
Nikita Popov
d0860f67ca
Fix cache slot assignment for ASSIGN_OBJ_OP
...
ASSIGN_OBJ_OP stores the cache slot in OP_DATA, so this ended up
overwriting the binop opcode instread.
2021-09-30 14:34:12 +02:00
Dmitry Stogov
512dfaba3a
JIT: Fixed incorrect named parameter handling
2021-09-30 14:51:43 +03:00
Dmitry Stogov
4b31cb3eb8
JIT: Fixed memory leak
2021-09-30 13:01:56 +03:00
Christoph M. Becker
ee5711de33
Fix #81477 : LimitIterator + SplFileObject regression in 8.0.1
...
We must not free the read line, if the `READ_AHEAD` flag is set. This
also restores the expectations of SplFileObject_next_variation002.phpt.
Closes GH-7518.
2021-09-29 16:17:14 +02:00