You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building in ARM64 with the --enable-zts flag, I get an error similar to the one described in this bug report - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266175. Please make corrections for TSRM for this architecture, they are already available on the website
@AndrewKusov Can you provide your ./configure flags and the full error message? We have an ARM build with --enable-zts so that alone seems not to be enough for reproducing the problem.
Edit: On, this is FreeBSD. We only have a x86 build here. Still, the full error would be good.
I can reproduce this in an AArch64 emulator running FreeBSD.
Full error:
--- libphp.la ---
ld: error: relocation R_AARCH64_TLSLE_ADD_TPREL_HI12 against _tsrm_ls_cache cannot be used with -shared
>>> defined in Zend/.libs/zend.o
>>> referenced by TSRM.c:788 (TSRM/TSRM.c:788)
>>> TSRM/.libs/TSRM.o:(tsrm_get_ls_cache_tcb_offset)
ld: error: relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC against _tsrm_ls_cache cannot be used with -shared
>>> defined in Zend/.libs/zend.o
>>> referenced by TSRM.c:788 (TSRM/TSRM.c:788)
>>> TSRM/.libs/TSRM.o:(tsrm_get_ls_cache_tcb_offset)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [libphp.la] Error code 1
Used this configure line: ./configure --disable-all --enable-debug --enable-opcache --enable-zts --with-libxml --disable-phpdbg --enable-embed.
The proposed fix in the linked thread is not good however, it just disables the JIT and ifdefs the offending code.
Note: I have a dev setup where I can take a look at this soon-ish
Activity
iluuu1994 commentedon May 7, 2023
@AndrewKusov Can you provide your
./configureflags and the full error message? We have an ARM build with--enable-ztsso that alone seems not to be enough for reproducing the problem.Edit: On, this is FreeBSD. We only have a x86 build here. Still, the full error would be good.
ndossche commentedon May 11, 2023
I can reproduce this in an AArch64 emulator running FreeBSD.
Full error:
Used this configure line:
./configure --disable-all --enable-debug --enable-opcache --enable-zts --with-libxml --disable-phpdbg --enable-embed.The proposed fix in the linked thread is not good however, it just disables the JIT and ifdefs the offending code.
Note: I have a dev setup where I can take a look at this soon-ish
1 remaining item
Merge branch 'PHP-8.2' into PHP-8.3
Merge branch 'PHP-8.3'
Fix GH-11188: Error when building TSRM in ARM64
Fix phpGH-11188: Error when building TSRM in ARM64 (for IR JIT)
Fix GH-11188: Error when building TSRM in ARM64 (for IR JIT) (#14459)