Skip to content

zend: fix missing return in global register detection (phpGH-22206)#22319

Closed
P3p111n0 wants to merge 5286 commits into
php:PHP-8.4from
P3p111n0:master
Closed

zend: fix missing return in global register detection (phpGH-22206)#22319
P3p111n0 wants to merge 5286 commits into
php:PHP-8.4from
P3p111n0:master

Conversation

@P3p111n0

Copy link
Copy Markdown

Hi,
this pull request add a missing return statement to zend global registers detection, fixing a build failure with -Werror=return-type with GCC 16.

When building with -Werror=return-type, the global registers detection ends with an error, even though global registers are supported. The preserve_none attribute is newly supported, which along with "unsupported" global registers leads to ZEND_VM_KIND being set to ZEND_VM_KIND_TAILCALL, which later produces the error described in the linked issue. This pull request fixes that.

Girgias and others added 30 commits May 7, 2026 15:46
As we want to use it to lookup hash tables and in the future copy it.
Required removing some const qualifiers on zend_string* and propagate the change to simplify the code.
It was always passed a NULL pointer, so just remove it and simplify the implementation of it.
* PHP-8.4:
  Preserve full XMM registers in Windows VM wrapper (#21976)
* PHP-8.5:
  Preserve full XMM registers in Windows VM wrapper (#21976)
#21978)

Rather than changing the pointer to another phar, something extremely confusing
…or carry to improve performance (GH-21340)

* Add consumed_args support for fcall arguments

* Use consumed_args for array_reduce and some other callback-using functions
* PHP-8.4:
  ext/standard: Fix ip2long in AIX to treat IPs with leading zeros as invalid like LINUX
* PHP-8.5:
  ext/standard: Fix ip2long in AIX to treat IPs with leading zeros as invalid like LINUX
The single seekable field caused write-chain seeks to reset filter
state after the bug #49874 fix, breaking dechunk on php://temp (used
by Symfony HttpClient).

Split into read_seekable and write_seekable. Write defaults to ALWAYS
for stateless and non-buffering filters. Buffer-holding filters
(zlib, bz2, convert.*) accept a write_seek_mode parameter:
"preserve" (default), "reset", or "strict". Invalid values throw
ValueError.

php_user_filter::seek gains a third int $chain argument; the ops
seek signature is unchanged.
After c1c6520, libgd needs PNG support to pass this test. Skip the
test if we are using (external) libgd without it.

close GH-22016
* PHP-8.5:
  ext/gd: imagebmp_basic.phpt test require PNG support.
* PHP-8.5:
  Update IR (#22019)
* PHP-8.4:
  Fix COMMUNITY_asan failure on src/Symfony/Component/HttpClient (#22021)
* PHP-8.5:
  Fix COMMUNITY_asan failure on src/Symfony/Component/HttpClient (#22021)
* PHP-8.4:
  JIT: Fix TSSA of ZEND_FE_FETCH_R with key operand
* PHP-8.5:
  JIT: Fix TSSA of ZEND_FE_FETCH_R with key operand
# Conflicts:
#	ext/opcache/jit/zend_jit_ir.c
* PHP-8.4:
  ext/gd: fix gh16559 and gh17349 tests
morrisonlevi and others added 2 commits June 15, 2026 08:20
* PHP-8.5:
  Update NEWS for PR 22221
  fix GH-20469: unsafe inheritance cache replay with reentrant autoloading (#22221)
@P3p111n0

Copy link
Copy Markdown
Author

I of course dont want to merge 5k commits, I will open a new pull request, sorry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment