Skip to content

Commit

Permalink
Merge branch 'PHP-8.2' into PHP-8.3
Browse files Browse the repository at this point in the history
* PHP-8.2:
  Fix GH-16902: Set of opcache tests fail zts+aarch64 (8.2-8.3)
  • Loading branch information
nielsdos committed Nov 25, 2024
2 parents d9fada4 + de96b43 commit d50a561
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
1 change: 1 addition & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ PHP NEWS
(nielsdos, Dmitry)
. Fixed bug GH-16851 (JIT_G(enabled) not set correctly on other threads).
(dktapps)
. Fixed bug GH-16902 (Set of opcache tests fail zts+aarch64). (nielsdos)

- OpenSSL:
. Prevent unexpected array entry conversion when reading key. (nielsdos)
Expand Down
18 changes: 18 additions & 0 deletions ext/opcache/jit/zend_jit_arm64.dasc
Original file line number Diff line number Diff line change
Expand Up @@ -504,7 +504,11 @@ static bool logical_immediate_p(uint64_t value, uint32_t reg_size)
||#else
| .long 0xd53bd051 // TODO: hard-coded: mrs TMP3, tpidr_el0
|| if (tsrm_ls_cache_tcb_offset == 0) {
||#ifdef __MUSL__
| ldr TMP3, [TMP3, #-8]
||#else
| ldr TMP3, [TMP3, #0]
||#endif
| MEM_ACCESS_64_WITH_UOFFSET_64 ldr, TMP3, TMP3, tsrm_tls_index, TMP1
| MEM_ACCESS_64_WITH_UOFFSET_64 ldr, reg, TMP3, tsrm_tls_offset, TMP1
|| } else {
Expand Down Expand Up @@ -2790,6 +2794,20 @@ static int zend_jit_setup(void)
/* Index is offset by 1 on FreeBSD (https://github.com/freebsd/freebsd-src/blob/22ca6db50f4e6bd75a141f57cf953d8de6531a06/lib/libc/gen/tls.c#L88) */
tsrm_tls_index = (tlsdesc->index + 1) * 8;
}
# elif defined(__MUSL__)
if (tsrm_ls_cache_tcb_offset == 0) {
size_t **where;

__asm__(
"adrp %0, :tlsdesc:_tsrm_ls_cache\n"
"add %0, %0, :tlsdesc_lo12:_tsrm_ls_cache\n"
: "=r" (where));
/* See https://github.com/ARM-software/abi-aa/blob/2a70c42d62e9c3eb5887fa50b71257f20daca6f9/aaelf64/aaelf64.rst */
size_t *tlsdesc = where[1];

tsrm_tls_offset = tlsdesc[1];
tsrm_tls_index = tlsdesc[0] * 8;
}
# else
ZEND_ASSERT(tsrm_ls_cache_tcb_offset != 0);
# endif
Expand Down

0 comments on commit d50a561

Please sign in to comment.