Skip to content

Commit

Permalink
Fix GH-16839: Error on building Opcache JIT for Windows ARM64
Browse files Browse the repository at this point in the history
OPcache JIT does not support Windows ARM64, so we should not allow
`--enable-opcache-jit` in the first place.

Due to the way `ARG_ENABLE()` is handled on Windows, we do not attempt
to suppress the configure option, but just do not enable JIT when the
user attempts to, and adapt the help text.

Closes GH-16841.
  • Loading branch information
cmb69 committed Nov 18, 2024
1 parent e00d684 commit e44b762
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
3 changes: 3 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ PHP NEWS
- Hash:
. Fixed GH-16711: Segfault in mhash(). (Girgias)

- Opcache:
. Fixed GH-16839 (Error on building Opcache JIT for Windows ARM64). (cmb)

- PCNTL:
. Fixed bug GH-16769: (pcntl_sigwaitinfo aborts on signal value
as reference). (David Carlier)
Expand Down
6 changes: 4 additions & 2 deletions ext/opcache/config.w32
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ ARG_ENABLE("opcache", "whether to enable Zend OPcache support", "yes");

if (PHP_OPCACHE != "no") {

ARG_ENABLE("opcache-jit", "whether to enable JIT", "yes");
ARG_ENABLE("opcache-jit", "whether to enable JIT (not supported for ARM64)", "yes");

ZEND_EXTENSION('opcache', "\
ZendAccelerator.c \
Expand All @@ -23,7 +23,9 @@ if (PHP_OPCACHE != "no") {
ADD_EXTENSION_DEP('opcache', 'pcre');

if (PHP_OPCACHE_JIT == "yes") {
if (CHECK_HEADER_ADD_INCLUDE("ir/ir.h", "CFLAGS_OPCACHE", PHP_OPCACHE + ";ext\\opcache\\jit")) {
if (TARGET_ARCH == 'arm64') {
WARNING("JIT not enabled; not yet supported for ARM64");
} else if (CHECK_HEADER_ADD_INCLUDE("ir/ir.h", "CFLAGS_OPCACHE", PHP_OPCACHE + ";ext\\opcache\\jit")) {
var dasm_flags = (X64 ? "-D X64=1" : "") + (X64 ? " -D X64WIN=1" : "") + " -D WIN=1";
var ir_target = (X64 ? "IR_TARGET_X64" : "IR_TARGET_X86");
var ir_src = "ir_strtab.c ir_cfg.c ir_sccp.c ir_gcm.c ir_ra.c ir_save.c \
Expand Down

0 comments on commit e44b762

Please sign in to comment.