summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2021-02-12 15:16:05 +0100
committerNikita Popov <nikita.ppv@gmail.com>2021-02-12 15:16:05 +0100
commitf74a02d263aa332d995f78bd71878012952623b1 (patch)
tree9b87dd9fdff85f8b4ebfb5f2f828440372eff39d
parentb10416a652d26577a22fe0b183b2258b20c8bb86 (diff)
downloadphp-git-f74a02d263aa332d995f78bd71878012952623b1.tar.gz
Revert "Implement fetching TLS TCB offset on MacOS"
This reverts commit 1106ff9a0e420e043c2e56c8ca00db85f1b85ee6. Looks like this sauses segfaults on MacOs ZTS with JIT.
-rw-r--r--TSRM/TSRM.c6
-rw-r--r--ext/opcache/jit/zend_jit_x86.dasc8
2 files changed, 2 insertions, 12 deletions
diff --git a/TSRM/TSRM.c b/TSRM/TSRM.c
index 2e489137fb..cd340035a2 100644
--- a/TSRM/TSRM.c
+++ b/TSRM/TSRM.c
@@ -727,10 +727,8 @@ 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__)
- size_t ret;
- asm ("movq __tsrm_ls_cache(%%rip),%0"
- : "=r" (ret));
- return ret;
+ // TODO: Implement support for fast JIT ZTS code ???
+ return 0;
#elif defined(__x86_64__) && defined(__GNUC__)
size_t ret;
diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc
index 844aaefc1b..fa203f850c 100644
--- a/ext/opcache/jit/zend_jit_x86.dasc
+++ b/ext/opcache/jit/zend_jit_x86.dasc
@@ -2923,20 +2923,12 @@ static int zend_jit_setup(void)
# elif defined(__APPLE__) && defined(__x86_64__)
tsrm_ls_cache_tcb_offset = tsrm_get_ls_cache_tcb_offset();
if (tsrm_ls_cache_tcb_offset == 0) {
-#if defined(__has_attribute) && __has_attribute(tls_model)
- size_t ret;
-
- asm ("movq __tsrm_ls_cache(%%rip),%0"
- : "=r" (ret));
- tsrm_ls_cache_tcb_offset = ret;
-#else
size_t *ti;
__asm__(
"leaq __tsrm_ls_cache(%%rip),%0"
: "=r" (ti));
tsrm_tls_offset = ti[2];
tsrm_tls_index = ti[1] * 8;
-#endif
}
# elif defined(__GNUC__) && defined(__x86_64__)
tsrm_ls_cache_tcb_offset = tsrm_get_ls_cache_tcb_offset();