From dbcbf5cbca1526e629c72352fe6e9467987a9ef3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Mon, 7 Mar 2022 12:04:21 +0100 Subject: [PATCH 1/2] Fix ZTS build for Alpine (musl libc) --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8f83ad06c07f6..a60c3533897ca 100644 --- a/configure.ac +++ b/configure.ac @@ -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 From abd95290272087285dc2827d0fa0fbe141db6ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Mon, 7 Mar 2022 13:23:05 +0100 Subject: [PATCH 2/2] fix "_tsrm_ls_cache" usage for musl --- TSRM/TSRM.c | 4 ++-- ext/opcache/jit/zend_jit_x86.dasc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TSRM/TSRM.c b/TSRM/TSRM.c index 3d93accddde77..c2a9130b5d4d4 100644 --- a/TSRM/TSRM.c +++ b/TSRM/TSRM.c @@ -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" diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index b0635a77029bc..bcf5459ba4212 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -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"