diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-12 15:16:05 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-12 15:16:05 +0100 |
commit | f74a02d263aa332d995f78bd71878012952623b1 (patch) | |
tree | 9b87dd9fdff85f8b4ebfb5f2f828440372eff39d | |
parent | b10416a652d26577a22fe0b183b2258b20c8bb86 (diff) | |
download | php-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.c | 6 | ||||
-rw-r--r-- | ext/opcache/jit/zend_jit_x86.dasc | 8 |
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(); |