mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Fix GH-8160: ZTS support on Alpine is broken
We need to export `__MUSL__` so that phpize builds can see the proper macro, and also need to fix "_tsrm_ls_cache" usage for musl. Closes GH-8180.
This commit is contained in:
committed by
Christoph M. Becker
parent
6c3816cee5
commit
2b2aeb989e
1
NEWS
1
NEWS
@@ -6,6 +6,7 @@ PHP NEWS
|
||||
. Fixed freeing of internal attribute arguments. (Bob)
|
||||
. Fixed bug GH-8070 (memory leak of internal function attribute hash).
|
||||
(Tim Düsterhus)
|
||||
. Fixed bug GH-8160 (ZTS support on Alpine is broken). (Michael Voříšek)
|
||||
|
||||
- Intl:
|
||||
. Fixed bug GH-8142 (Compilation error on cygwin). (David Carlier)
|
||||
|
||||
@@ -736,13 +736,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__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
||||
#elif defined(__x86_64__) && defined(__GNUC__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__)
|
||||
size_t ret;
|
||||
|
||||
asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0"
|
||||
: "=r" (ret));
|
||||
return ret;
|
||||
#elif defined(__i386__) && defined(__GNUC__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
||||
#elif defined(__i386__) && defined(__GNUC__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__)
|
||||
size_t ret;
|
||||
|
||||
asm ("leal _tsrm_ls_cache@ntpoff,%0"
|
||||
|
||||
@@ -260,7 +260,7 @@ AC_MSG_CHECKING([whether we are using musl libc])
|
||||
if command -v ldd >/dev/null && ldd --version 2>&1 | grep -q ^musl
|
||||
then
|
||||
AC_MSG_RESULT(yes)
|
||||
CPPFLAGS="$CPPFLAGS -D__MUSL__"
|
||||
AC_DEFINE([__MUSL__], [1], [Define when using musl libc])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
@@ -2974,7 +2974,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) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
||||
#if defined(__has_attribute) && __has_attribute(tls_model) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__)
|
||||
size_t ret;
|
||||
|
||||
asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0"
|
||||
@@ -2993,7 +2993,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 !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
||||
#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__MUSL__)
|
||||
size_t ret;
|
||||
|
||||
asm ("leal _tsrm_ls_cache@ntpoff,%0\n"
|
||||
|
||||
Reference in New Issue
Block a user