Category
bug · php-src-strict · AOT · pillar 4
Problem
VM/JIT match Zend for crc32(), but AOT compile aborts during LLVM module verification (AddrSpaceCast source must be a pointer). Previously closed as working in #1014 — compile path regressed.
| Repro |
Zend / VM / JIT (2026-08-02, dd9bde493) |
AOT compile |
crc32('php-compiler') |
4282364586 |
FAIL — RuntimeException: Module verification failed due to AddrSpaceCast source must be a pointer (PHPLLVM\LLVMAbstract\Module::verify) |
php-src reference
PHP implementation target
ext/standard/ crc32 helper / NestedJIT string→int lowering (share VM path; fix pointer cast in LLVM emission)
- Prefer PHP-in-PHP; no new
runtime/*.c logic
Repro
./script/docker-exec.sh -- bash -lc '
cat > /tmp/aot_crc32.php <<'"'"'PHP'"'"'
<?php
echo crc32("php-compiler"), PHP_EOL;
PHP
echo -n "zend="; php /tmp/aot_crc32.php
echo -n "vm="; php bin/vm.php /tmp/aot_crc32.php 2>/dev/null
echo -n "jit="; php bin/jit.php /tmp/aot_crc32.php 2>/dev/null
php bin/compile.php -o /tmp/aot_crc32 /tmp/aot_crc32.php
'
Done when
Category
bug· php-src-strict · AOT · pillar 4Problem
VM/JIT match Zend for
crc32(), but AOT compile aborts during LLVM module verification (AddrSpaceCast source must be a pointer). Previously closed as working in #1014 — compile path regressed.dd9bde493)crc32('php-compiler')4282364586RuntimeException: Module verification failed due to AddrSpaceCast source must be a pointer(PHPLLVM\LLVMAbstract\Module::verify)php-src reference
ext/standard/crc32.c—PHP_FUNCTION(crc32)ext/standard/basic_functions.stub.php—crc32PHP implementation target
ext/standard/crc32 helper / NestedJIT string→int lowering (share VM path; fix pointer cast in LLVM emission)runtime/*.clogicRepro
Done when
php bin/compile.phpsucceeds for the repro4282364586matching Zend/VM/JIT--repeat 10on the built binarytest/repro/or compliance guard