mirror of
https://github.com/php/php-src.git
synced 2026-04-15 03:51:07 +02:00
Merge branch 'PHP-8.0'
* PHP-8.0: Fixed bug #80814 (threaded mod_php won't load on FreeBSD: No space available for static Thread Local Storage)
This commit is contained in:
@@ -729,13 +729,13 @@ 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;
|
||||
#elif defined(__x86_64__) && defined(__GNUC__)
|
||||
#elif defined(__x86_64__) && defined(__GNUC__) && !defined(__FreeBSD__)
|
||||
size_t ret;
|
||||
|
||||
asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0"
|
||||
: "=r" (ret));
|
||||
return ret;
|
||||
#elif defined(__i386__) && defined(__GNUC__)
|
||||
#elif defined(__i386__) && defined(__GNUC__) && !defined(__FreeBSD__)
|
||||
size_t ret;
|
||||
|
||||
asm ("leal _tsrm_ls_cache@ntpoff,%0"
|
||||
|
||||
@@ -147,7 +147,7 @@ TSRM_API const char *tsrm_api_name(void);
|
||||
# define __has_attribute(x) 0
|
||||
#endif
|
||||
|
||||
#if !__has_attribute(tls_model)
|
||||
#if !__has_attribute(tls_model) || defined(__FreeBSD__)
|
||||
# define TSRM_TLS_MODEL_ATTR
|
||||
#elif __PIC__
|
||||
# define TSRM_TLS_MODEL_ATTR __attribute__((tls_model("initial-exec")))
|
||||
|
||||
@@ -2933,7 +2933,7 @@ static int 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)
|
||||
#if defined(__has_attribute) && __has_attribute(tls_model) && !defined(__FreeBSD__)
|
||||
size_t ret;
|
||||
|
||||
asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0"
|
||||
@@ -2952,7 +2952,7 @@ static int 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 1
|
||||
#if !defined(__FreeBSD__)
|
||||
size_t ret;
|
||||
|
||||
asm ("leal _tsrm_ls_cache@ntpoff,%0\n"
|
||||
|
||||
Reference in New Issue
Block a user