1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Commit Graph

145177 Commits

Author SHA1 Message Date
Ilija Tovilo
4156b52296 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix preloaded constant erroneously propagated to file-cached script
2026-02-24 17:31:08 +01:00
Ilija Tovilo
8206eb1cb4 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix preloaded constant erroneously propagated to file-cached script
2026-02-24 17:30:14 +01:00
Ilija Tovilo
ec5a1e001d Fix preloaded constant erroneously propagated to file-cached script
Since GH-15021 preloaded constants are propagated to compiled scripts. This is
problematic for file cache, which assumes all referenced zvals are either
persistently allocated or local to the current script. However, preloaded
constants live in shm as immutable, but not persistent.

To solve this, we'd need to duplicate propagated constants in the optimizer when
file cache is used. This is error prone given it needs to happen in many places.
It's debatable whether constant propagation is even correct in this case, as
running the preloaded script on a restart isn't guaranteed to produce the same
result.

Hence, avoid the issue for now by just not relying on preloaded symbols when
file cache is used.

Fixes GH-21052
Closes GH-21281
2026-02-24 17:28:56 +01:00
Daniel Scherzer
27a88a3c90 Merge branch 'PHP-8.5'
* PHP-8.5:
  PHP-8.5 is now for PHP 8.5.5-dev
2026-02-24 11:11:16 -05:00
Daniel Scherzer
ee1e5f295d PHP-8.5 is now for PHP 8.5.5-dev 2026-02-24 11:10:09 -05:00
Dmitry Stogov
68d96e3855 Merge branch 'PHP-8.5'
* PHP-8.5:
  Update IR (#21288)
2026-02-24 18:41:57 +03:00
Dmitry Stogov
ff73aecc95 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Update IR (#21288)
2026-02-24 18:41:43 +03:00
Dmitry Stogov
e792511179 Update IR (#21288)
IR commit: ef9341183cdd0489a188a87e74f5b02a359df21b
2026-02-24 18:40:53 +03:00
Ilija Tovilo
f52da75156 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix benchmarking head sha
  Fix ccache for alpine and msan
  Fix coverage label job selection
  Fix ccache for coverage and pecl builds
2026-02-24 12:59:07 +01:00
Ilija Tovilo
717c58e005 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix benchmarking head sha
  Fix ccache for alpine and msan
  Fix coverage label job selection
  Fix ccache for coverage and pecl builds
2026-02-24 12:59:01 +01:00
Ilija Tovilo
b003f5f147 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix benchmarking head sha
  Fix ccache for alpine and msan
  Fix coverage label job selection
  Fix ccache for coverage and pecl builds
2026-02-24 12:58:51 +01:00
Ilija Tovilo
90d604e2c4 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix benchmarking head sha
  Fix ccache for alpine and msan
  Fix coverage label job selection
  Fix ccache for coverage and pecl builds
2026-02-24 12:58:44 +01:00
Ilija Tovilo
46073db990 Fix benchmarking head sha
See https://github.com/orgs/community/discussions/47804

Closes GH-21287
2026-02-24 12:53:33 +01:00
Ilija Tovilo
68d4ee357b Fix ccache for alpine and msan
Declare CC/CXX through the ccache action.

Closes GH-21286
2026-02-24 12:53:16 +01:00
Ilija Tovilo
ee40ca3fe2 Fix coverage label job selection 2026-02-24 12:52:34 +01:00
Ilija Tovilo
c8cd3aeb1e Fix ccache for coverage and pecl builds
Coverage cannot use ccache as it is incompatible with gcov. Pecl clones PHP to
the ./php directory, rather than the cwd.

Closes GH-21285
2026-02-24 12:52:21 +01:00
Ilija Tovilo
db0e365f5a Fix missing reference unwrap for FE_FETCH_R in JIT (GH-21265)
Fixes GH-21264
2026-02-24 02:15:07 +01:00
Ilija Tovilo
3bf7d9a7d6 Merge branch 'PHP-8.5'
* PHP-8.5:
  Tweak stack limit values for gh20840.phpt
  Tweak stack limit values for gh20583.phpt
2026-02-24 02:11:56 +01:00
Ilija Tovilo
48e318f581 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Tweak stack limit values for gh20840.phpt
  Tweak stack limit values for gh20583.phpt
2026-02-24 02:11:44 +01:00
Ilija Tovilo
f07809f495 Tweak stack limit values for gh20840.phpt
Graciously tested by Andy Postnikov (andypost).

See GH-21086
Closes GH-21275
2026-02-24 02:11:19 +01:00
Ilija Tovilo
9a6a841d77 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Tweak stack limit values for gh20583.phpt
2026-02-24 02:11:09 +01:00
Ilija Tovilo
3692a5fa57 Tweak stack limit values for gh20583.phpt
Graciously tested by Andy Postnikov (andypost).

See GH-21086
Closes GH-21274
2026-02-24 02:10:47 +01:00
David Carlier
b81686a108 Merge branch 'PHP-8.5'
* PHP-8.5:
  ext/pcntl: fix pcntl_signal_dispatch() stale tail pointer and exception handling.
2026-02-23 21:26:18 +00:00
David Carlier
92baeddd42 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  ext/pcntl: fix pcntl_signal_dispatch() stale tail pointer and exception handling.
2026-02-23 21:26:06 +00:00
David Carlier
296fad10fb ext/pcntl: fix pcntl_signal_dispatch() stale tail pointer and exception handling.
close GH-21259
2026-02-23 21:24:38 +00:00
David Carlier
d1160660b2 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-21262: ldap_modify() too strict controls argument validation.
2026-02-23 20:46:52 +00:00
David Carlier
aa44392dfc Fix GH-21262: ldap_modify() too strict controls argument validation.
make it impossible to unset an attribute.

close GH-21263
2026-02-23 20:46:04 +00:00
Arshid
3b609a14e5 Zend: Replace RETVAL_TRUE/RETVAL_FALSE with RETVAL_BOOL (#21277) 2026-02-23 20:32:14 +00:00
Peter Kokot
7158e6376e Merge branch 'PHP-8.5'
* PHP-8.5:
  sapi/*/Makefile.frag: install programs built with libtool, with libtool
2026-02-23 17:21:24 +01:00
Peter Kokot
c89b363fc9 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  sapi/*/Makefile.frag: install programs built with libtool, with libtool
2026-02-23 17:20:59 +01:00
Michael Orlitzky
db6cca26dd sapi/*/Makefile.frag: install programs built with libtool, with libtool
When installing executables that were built using libtool, we are
supposed to use

  $ libtool --mode-install <install-command>

rather than the bare <install-command>. This is discussed ever so
briefly in the "Installing executables" section of the GNU libtool
documentation:

  https://www.gnu.org/software/libtool/manual/libtool.html

So far this has not caused a problem with GNU libtool on the platforms
that PHP supports, but there is an alternate libtool implementation
called slibtool that stores wrappers at the locations where PHP is
expecting the true executables to live. As a result, the wrappers (and
not the executables) are installed when slibtool is used to build PHP.

This is fixed by replacing,

  $(INSTALL)

with

  $(LIBTOOL) --mode=install $(INSTALL)

in the install-foo rules for the executables that are built with
libtool.

Closes GH-13674
2026-02-23 17:19:23 +01:00
Arshid
6b92940363 ext/xls: Replace RETVAL_TRUE/RETVAL_FALSE with RETVAL_BOOL (#21278) 2026-02-23 16:01:51 +01:00
David Carlier
93bbb464b9 Merge branch 'PHP-8.5'
* PHP-8.5:
  ext/pcntl: Fix signal table updated before php_signal4 succeeds in pcntl_signal
2026-02-23 12:49:10 +00:00
David Carlier
98258a3f5a Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  ext/pcntl: Fix signal table updated before php_signal4 succeeds in pcntl_signal
2026-02-23 12:48:30 +00:00
David Carlier
6a1bde5d38 ext/pcntl: Fix signal table updated before php_signal4 succeeds in pcntl_signal
Move the signal table update after the php_signal4 call, mirroring
what is already done in the SIG_DFL/SIG_IGN (integer) code path.
This prevents a stale entry in the table if sigaction fails.

close GH-21270
2026-02-23 12:47:55 +00:00
Arshid
7b4a7035d6 ext/standard: Cleanup boolean return macros (#21261)
- Replace RETVAL_TRUE/FALSE with RETVAL_BOOL
- Replace RETURN_TRUE/FALSE with RETURN_BOOL
2026-02-23 12:39:25 +00:00
Jorg Adam Sowa
b58087daab test: improve tests for in_array (#21087)
By splitting the massive tests into more specific, smaller tests.
2026-02-23 12:36:38 +00:00
Nicolas Grekas
42baffd2bf Add note about session behavior change in UPGRADE file (#21271) 2026-02-23 12:30:41 +00:00
David Carlier
5f87a6e5b6 Merge branch 'PHP-8.5'
* PHP-8.5:
  ext/pcntl: Fix cpuset leak in pcntl_setcpuaffinity on out-of-range CPU ID
2026-02-22 19:58:53 +00:00
David Carlier
af5eae3427 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  ext/pcntl: Fix cpuset leak in pcntl_setcpuaffinity on out-of-range CPU ID
2026-02-22 19:58:41 +00:00
David Carlier
37ce67f276 ext/pcntl: Fix cpuset leak in pcntl_setcpuaffinity on out-of-range CPU ID
Add missing PCNTL_CPU_DESTROY(mask) call before RETURN_THROWS() when
the cpu id is out of range, matching the cleanup on other error paths.

close GH-21268
2026-02-22 19:57:19 +00:00
David Carlier
16514dad28 Merge branch 'PHP-8.5'
* PHP-8.5:
  ext/pcntl: fix pcntl_setns() error handling.
2026-02-22 19:07:03 +00:00
David Carlier
14bb2aa9c7 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  ext/pcntl: fix pcntl_setns() error handling.
2026-02-22 19:06:54 +00:00
David Carlier
e2a5909ba3 ext/pcntl: fix pcntl_setns() error handling.
Save errno into a local int before calling close(fd), as close() may
clobber errno on failure. Use int rather than errno_t because errno_t
is defined in C11 Annex K (bounds-checking interfaces) which is
optional and not widely implemented — many platforms (Linux/glibc,
musl, macOS, FreeBSD) do not provide it.

close GH-21256
2026-02-22 19:05:55 +00:00
Ilija Tovilo
da6d890e00 Merge branch 'PHP-8.5'
* PHP-8.5:
  [CI] Fix ineffective ccache
2026-02-20 17:46:48 +01:00
Ilija Tovilo
4c65b3e674 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  [CI] Fix ineffective ccache
2026-02-20 17:46:42 +01:00
Ilija Tovilo
70b2761d98 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [CI] Fix ineffective ccache
2026-02-20 17:46:36 +01:00
Ilija Tovilo
c3734bd298 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [CI] Fix ineffective ccache
2026-02-20 17:46:31 +01:00
Ilija Tovilo
7a4da1040b [CI] Fix ineffective ccache
Cache on GHA is immutable. For this reason, hendrikmuhs/ccache-action creates a
new cache entry for each push, each with an appended timestamp, which fills the
cache very quickly. In an attempt to fix this, we've disabled the
append-timestamp option and appended a hash of php_version.h. Hence, we'll only
get a new cache file once this file is touched.

However, since this file rarely ever updates for master, we're relying on an
extremely outdated cache. To fix this, append the current year+week to rebuild
the cache each week instead, as suggested by Tim. Also use major.minor.release
version instead of the has of php_version.h for readability.

Fixes GH-14154
Closes GH-21258
2026-02-20 17:45:57 +01:00
Ilija Tovilo
c891263900 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix nightly ref name
2026-02-19 11:49:31 +01:00