You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Basically b0c7865 is a fix for the global register detection and is consistent with what is mentioned in #21960 so that the build is succesful with GCC 16 and --enable-gcc-global-regs.
And shamanzpua@39c6782 will fix the build with GCC 16 and --disable-gcc-global-regs.
If there are no performance side effects, then removing the musttail is certainly the simplest way to fix this. I opened a bug in the GCC bugzilla: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125874. The analysis on GCC might get more refined to the point that the removal of the musttail is not needed, though it is unclear if/when that's going to happen.
Activity
P3p111n0 commentedon Jun 3, 2026
Building without
-Werror=return-typefixes the build for me. Not really sure why.Fix phpGH-22206: [opcache] avoid musttail in zend_runtime_jit() (GCC 16)
henderkes commentedon Jun 7, 2026
Does gcc support preserve_none musttails now? I'm confused why it would even take this path.
P3p111n0 commentedon Jun 8, 2026
Yes, preserve_none support was added in GCC 16.
zend: fix missing return in global register detection (phpGH-22206)
zend: fix missing return in global register detection (GH-22206) (#22320
Merge branch 'PHP-8.5'
petk commentedon Jun 17, 2026
The linked pull request that should fix this has been merged to PHP-8.4 and up. Thanks!
Merge branch 'PHP-8.4' into PHP-8.5
arjendekorte commentedon Jun 17, 2026
Even with the linked pull-request, the build still fails when
--disable-gcc-global-regsis used.arjendekorte commentedon Jun 18, 2026
Basically b0c7865 is a fix for the global register detection and is consistent with what is mentioned in #21960 so that the build is succesful with GCC 16 and
--enable-gcc-global-regs.And shamanzpua@39c6782 will fix the build with GCC 16 and
--disable-gcc-global-regs.P3p111n0 commentedon Jun 22, 2026
If there are no performance side effects, then removing the musttail is certainly the simplest way to fix this. I opened a bug in the GCC bugzilla: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125874. The analysis on GCC might get more refined to the point that the removal of the musttail is not needed, though it is unclear if/when that's going to happen.
Fix phpGH-22206: restrict the tail-call VM to Clang
Revert "Fix phpGH-22206: avoid musttail in zend_runtime_jit() in the …
Fix GH-22206: Enable the TAILCALL VM only on Clang (#23054)
Merge branch 'PHP-8.5'