php-src/ext/opcache
Pengfei Li f2706a8f30
JIT/AArch64: Fix an undefined symbol issue (#12687)
In AArch64 function `zend_jit_set_veneer()`, some debug code calls two
other functions `ir_disasm_find_symbol()` and `ir_disasm_add_symbol()`
defined in `ir_disasm.c`. However, `ir_disasm.c` is compiled under the
condition that capstone is available. This causes an undefined symbol
issue while loading `opcache.so` when JIT is triggered if PHP is built
without `--with-capstone`.

We find this issue on MacOS 12.5 if we build PHP with Clang 14. It does
not appear immediately when using other versions of toolchains because
of lazy binding. To reproduce this with Linux/GCC, we can disable lazy
binding by `export LD_BIND_NOW=1` before building PHP.

This fixes the issue by making the debug code conditionally compile.
2023-11-16 11:57:09 +03:00
..
jit JIT/AArch64: Fix an undefined symbol issue (#12687) 2023-11-16 11:57:09 +03:00
tests Improve jit tests 2023-11-14 20:09:27 +01:00
config.m4 Remove old JIT implementation (#12498) 2023-10-24 11:37:58 +03:00
config.w32 Remove old JIT implementation (#12498) 2023-10-24 11:37:58 +03:00
CREDITS
opcache.stub.php
opcache_arginfo.h
shared_alloc_mmap.c Fix the JIT buffer relocation failure at the corner case (#11266) 2023-05-23 14:49:19 +03:00
shared_alloc_posix.c opcache posix creating special shared segments for FreeBSD 13 and above. 2023-10-09 19:10:26 +01:00
shared_alloc_shm.c Make lots of string pointers const (#10646) 2023-02-21 14:01:37 +00:00
shared_alloc_win32.c Make lots of string pointers const (#10646) 2023-02-21 14:01:37 +00:00
zend_accelerator_blacklist.c Fix GCC 9.4 uninitialized variable warning 2022-08-19 12:46:55 +01:00
zend_accelerator_blacklist.h
zend_accelerator_debug.c
zend_accelerator_debug.h ext/opcache: C++ compatibility 2023-01-12 15:14:05 +00:00
zend_accelerator_hash.c Mark globals as const (#10303) 2023-01-23 13:46:58 +00:00
zend_accelerator_hash.h Revert GH-10279 2023-01-16 12:25:59 +01:00
zend_accelerator_module.c Merge branch 'PHP-8.2' into PHP-8.3 2023-10-23 12:11:01 +03:00
zend_accelerator_module.h
zend_accelerator_util_funcs.c Use zend_error_noreturn for E_ERROR consistently 2023-09-14 11:44:55 +02:00
zend_accelerator_util_funcs.h
zend_file_cache.c Merge branch 'PHP-8.2' into PHP-8.3 2023-10-11 09:57:43 +03:00
zend_file_cache.h
zend_persist.c Use zend_ast_size consistenly (#11955) 2023-08-14 00:51:14 +02:00
zend_persist.h ext/opcache: C++ compatibility 2023-01-12 15:14:05 +00:00
zend_persist_calc.c Use zend_ast_size consistenly (#11955) 2023-08-14 00:51:14 +02:00
zend_shared_alloc.c Merge branch 'PHP-8.3' 2023-10-23 10:52:09 +03:00
zend_shared_alloc.h Merge branch 'PHP-8.2' into PHP-8.3 2023-10-23 10:51:59 +03:00
ZendAccelerator.c Merge branch 'PHP-8.2' into PHP-8.3 2023-10-18 10:49:14 +02:00
ZendAccelerator.h Synchronize zend_jit_stop_counter_handlers() 2023-08-03 10:19:11 +02:00