1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

125960 Commits

Author SHA1 Message Date
Derick Rethans 68b874d10d Fixed bug #81504: Incorrect timezone transition details for POSIX data 2021-10-05 15:22:55 +01:00
Nikita Popov e91a751e3d Use ephemeral port in test 2021-10-05 16:00:50 +02:00
Nikita Popov 02c5f7f927 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix duplicate undef warning in assign_dim_op
2021-10-05 15:51:30 +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 c5e96daa41 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix return type verification with undef var
2021-10-05 15:34:37 +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 41dc14792e Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fixed SSA construction
2021-10-05 16:14:58 +03:00
Dmitry Stogov 22ef1fb832 Fixed SSA construction 2021-10-05 16:14:39 +03:00
Dmitry Stogov a5e502ef4d JIT: Combine type guard with overflow detection 2021-10-05 14:43:34 +03:00
Nikita Popov 20a784e026 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  POST_INC_OBJ/POST_DEC_OBJ don't have optional result
2021-10-05 12:05:57 +02: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 34cd6cbfe0 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Revert "Fix #81424: PCRE2 10.35 JIT performance regression"
2021-10-05 11:52:32 +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 8360e9d6d1 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix COPY_TMP live range construction after optimization
2021-10-05 11:28:41 +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
Nikita Popov e8e4852ebb Restore CE_CACHE clear on persist
We still need to do this in case early binding succeeds and caches
the class. We could guard that by !in_compilation as well, but in
this case the previous cache clearing should be reliable, so
restore it.
2021-10-05 10:31:46 +02:00
Joe Watkins 03e9bed5b5 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix #81496: CLI server logs wrong request method
2021-10-05 08:43:09 +02:00
Lauri Kenttä cdcdb33080 Fix #81496: CLI server logs wrong request method 2021-10-05 08:42:38 +02:00
Nikita Popov cd84480e54 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Disable failing FPM test
2021-10-04 23:31:40 +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 7dd87b2343 Merge branch 'PHP-8.0' into PHP-8.1 2021-10-04 21:56:06 +01: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
Dmitry Stogov 2c95c945be JIT: Eliminate useless EG(exception) checks after FETCH_DIM_* 2021-10-04 22:28:26 +03:00
Nikita Popov 493c91c742 Start new block after loop free
In the attached test case we ended up not updating a leftover
MATCH jump in the unreachable_free block. There's different ways
this can be addressed, but in this case we can just make sure that
a new block is started after the loop free, which will allow it
to be dropped as unreachable. We only need to retain the free
itself for live-range reconstruction.

Fixes oss-fuzz #39516.
2021-10-04 16:59:46 +02:00
Dmitry Stogov 724c4fb2e5 JIT: Avoid duplicate EX(opline) assignment 2021-10-04 17:50:26 +03:00
Nikita Popov ac70bb362e Don't populate CE_CACHE during compilation
It's possible for CE_CACHE slots to be populated during compilation
(e.g. due to an early binding attempt). When opcache then persists
the class, it clears the CE_CACHE slot for the class name as declared,
but not for different spellings (that only differ in case). As such,
a pointer to the old, non-persistent class entry may be retained.

Fix this by not populating CE_CACHE if in_compilation is set.

Closes GH-7542.
2021-10-04 15:38:01 +02:00
Dmitry Stogov 066f543cac JIT: Use zend_compare() instead of comapre_function() 2021-10-04 15:49:41 +03:00
Nikita Popov 70fa1d4d65 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix bug #81474: Make ReflectionAttribute non-final
2021-10-04 14:40:30 +02: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 9faa11d346 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix #77978: Dirname ending in colon unzips to wrong dir
2021-10-04 12:58:38 +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 0431bd3137 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Revert "Add FPM prod idle timeout test"
  [ci skip] Fix missing NEWS
  [ci skip] Add missing NEWS
2021-10-04 10:17:07 +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 4ef6280b9a Fix conflicting pattern wrapping in FPM openmetrics test 2021-10-02 18:31:49 +01:00
Jakub Zelenka 390d4e94ed Merge branch 'PHP-8.0' into PHP-8.1 2021-10-02 18:29:25 +01: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 c468e37858 [ci skip] Remove erroneous XFAIL test
Bug #66257 is actually not a bug, but rather a documentation issue.

Closes GH-7543.
2021-10-01 18:59:01 +02:00
Aliaksandr Bystry 52e7e0f521 Fix bug #66588: SplFileObject::fgetcsv incorrectly returns a row on premature EOF
Make sure the behavior is the same regardless of whether there is
a trailing newline and whether the input is a stream or not.

Closes GH-7539.
2021-10-01 16:21:26 +02:00
Nikita Popov 304d78b7dc Revert "JIT: Use zend_compare() instead of comapre_function()"
Temporarily revert this change to unbreak CI, which currently
always times out.

This reverts commit 9b3069f0a3.
This reverts commit 3d35ac0b05.
2021-10-01 16:15:40 +02:00