summaryrefslogtreecommitdiff
path: root/TSRM/TSRM.c
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2021-02-01 17:26:39 +0000
committerNikita Popov <nikita.ppv@gmail.com>2021-02-11 15:48:20 +0100
commit1106ff9a0e420e043c2e56c8ca00db85f1b85ee6 (patch)
treecf4f919145510a9d101c75e0bad8b0336811cda2 /TSRM/TSRM.c
parent070e24d7a91a49fce56b5ee4d5a102d022d3e724 (diff)
downloadphp-git-1106ff9a0e420e043c2e56c8ca00db85f1b85ee6.tar.gz
Implement fetching TLS TCB offset on MacOS
Tested with php-cgi and wordpress and 1255 for jit settings. Closes GH-6659.
Diffstat (limited to 'TSRM/TSRM.c')
-rw-r--r--TSRM/TSRM.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/TSRM/TSRM.c b/TSRM/TSRM.c
index cd340035a2..2e489137fb 100644
--- a/TSRM/TSRM.c
+++ b/TSRM/TSRM.c
@@ -727,8 +727,10 @@ TSRM_API void *tsrm_get_ls_cache(void)
TSRM_API size_t tsrm_get_ls_cache_tcb_offset(void)
{/*{{{*/
#if defined(__APPLE__) && defined(__x86_64__)
- // TODO: Implement support for fast JIT ZTS code ???
- return 0;
+ size_t ret;
+ asm ("movq __tsrm_ls_cache(%%rip),%0"
+ : "=r" (ret));
+ return ret;
#elif defined(__x86_64__) && defined(__GNUC__)
size_t ret;