[php-src] Issue #18743: Incompatibility in Inline TLS Assembly on Alpine 3.22 with `zend_jit_ir.c`

From: Date: Tue, 03 Jun 2025 08:34:29 +0000
Subject: [php-src] Issue #18743: Incompatibility in Inline TLS Assembly on Alpine 3.22 with `zend_jit_ir.c`
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-250197@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/18743 Author: thecaliskan ### Description ### Description When building PHP on Alpine Linux 3.22 with musl and targeting 32-bit or 64-bit x86 platforms, a regression is observed related to inline assembly in ext/opcache/jit/zend_jit_ir.c, specifically: This error **does not occur on Alpine 3.21** using the same compilation toolchain. The issue stems from the @TLSGD usage which implicitly expects %rdi on x86_64 or %eax on i386, depending on the TLS model. ext/opcache/jit/zend_jit_ir.c:3459: Error: @TLSGD operator requires %rdi' as dest register` --- ### Environment - Alpine Linux 3.22 - GCC (via build-base) - musl libc - Target: x86_64 or i386 - Affected file: ext/opcache/jit/zend_jit_ir.c --- ### Related PR / Reference - https://github.com/docker-library/php/pull/1580 ### PHP Version ```plain 8.4.7-zts 8.3.21-zts 8.2.28-zts 8.1.32-zts ``` ### Operating System Alpine 3.22

« previous php.bugs (#250197) next »