diff --git a/TSRM/TSRM.c b/TSRM/TSRM.c index 5d1ae304098da..de7951d71095a 100644 --- a/TSRM/TSRM.c +++ b/TSRM/TSRM.c @@ -777,14 +777,16 @@ TSRM_API size_t tsrm_get_ls_cache_tcb_offset(void) // TODO: Implement support for fast JIT ZTS code ??? return 0; #elif defined(__x86_64__) && defined(__GNUC__) && !defined(__FreeBSD__) && \ - !defined(__OpenBSD__) && !defined(__MUSL__) && !defined(__HAIKU__) + !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__) && \ + !defined(__HAIKU__) size_t ret; asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0" : "=r" (ret)); return ret; #elif defined(__i386__) && defined(__GNUC__) && !defined(__FreeBSD__) && \ - !defined(__OpenBSD__) && !defined(__MUSL__) && !defined(__HAIKU__) + !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__) && \ + !defined(__HAIKU__) size_t ret; asm ("leal _tsrm_ls_cache@ntpoff,%0" diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h index c9e8edd37224b..6bd1b96910710 100644 --- a/TSRM/TSRM.h +++ b/TSRM/TSRM.h @@ -152,7 +152,7 @@ TSRM_API bool tsrm_is_managed_thread(void); # define __has_attribute(x) 0 #endif -#if !__has_attribute(tls_model) || defined(__FreeBSD__) || defined(__MUSL__) || defined(__HAIKU__) +#if !__has_attribute(tls_model) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__MUSL__) || defined(__HAIKU__) # define TSRM_TLS_MODEL_ATTR #elif __PIC__ # define TSRM_TLS_MODEL_ATTR __attribute__((tls_model("initial-exec"))) diff --git a/ext/opcache/jit/zend_jit_ir.c b/ext/opcache/jit/zend_jit_ir.c index cb595becb1790..980921303955b 100644 --- a/ext/opcache/jit/zend_jit_ir.c +++ b/ext/opcache/jit/zend_jit_ir.c @@ -3241,7 +3241,8 @@ static void zend_jit_setup(void) # elif defined(__GNUC__) && 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) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__) +#if defined(__has_attribute) && __has_attribute(tls_model) && !defined(__FreeBSD__) && \ + !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__) size_t ret; asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0" @@ -3268,7 +3269,7 @@ static void zend_jit_setup(void) # elif defined(__GNUC__) && defined(__i386__) tsrm_ls_cache_tcb_offset = tsrm_get_ls_cache_tcb_offset(); if (tsrm_ls_cache_tcb_offset == 0) { -#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__) size_t ret; asm ("leal _tsrm_ls_cache@ntpoff,%0\n"