Repository navigation
Commit 89394e7
turbo-ext: shared core loads on PHP 8.3-8.6 on Linux too
The core no longer references anything in the version-specific library:
the pt_abi table, the module-startup registration list and the shadow
plan registry moved into the new Core.cpp, and the functions Abi.cpp
implements per minor became function pointers in pt_abi. The few core
functions the version-specific library calls are PT_CORE_API, everything
else stays hidden.
PHP 8.6 broke the remaining assumptions, now read through pt_abi too:
- zend_class_entry gained ce_flags2 after ce_flags, moving every later
member (PT_CE(), type-checked to take a zend_class_entry only)
- the ZPP_ERROR_* codes became a uint8_t enum without WRONG_COUNT and two
Z_EXPECTED_* types were inserted; the parse slow paths now return the
value (neutral ZPP macros, translated by Abi.cpp)
- zend_is_callable, zend_call_known_function, _php_stream_free and
_php_stream_read are no longer exported
- zend_arg_info grew a doc_comment (PT_ARG_INFO())
and ZEND_COLD is pinned, since the older headers enable it for GCC only.
bin/shared-core/gate-linux.sh builds in the CI images (GCC, or clang with
GATE_IMAGE/GATE_MAKE_ARGS), link-split-linux.sh links one core from the
8.4 objects plus a 68 KB extension per minor and runs smoke.php with each:
ALL OK on 8.3, 8.4, 8.5 and 8.6. The macOS scripts got a -mac suffix.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017h1GfB7vfJPgwcTHD9Fth61 parent b1c77b2 commit 89394e7
65 files changed
Lines changed: 887 additions & 306 deletions
File tree
- turbo-ext
- src
- parser
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
210 | 215 | | |
211 | 216 | | |
212 | 217 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
File renamed without changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
42 | 47 | | |
43 | 48 | | |
44 | 49 | | |
45 | | - | |
| 50 | + | |
46 | 51 | | |
47 | 52 | | |
48 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
File renamed without changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
File renamed without changes.
0 commit comments