From 2be3aa86f04be760cfc826f11c4d11dedd060ff9 Mon Sep 17 00:00:00 2001 From: Demon Date: Tue, 8 Jul 2025 13:51:03 +0800 Subject: [PATCH] Zend: fix undefined symbol 'execute_ex' on Windows ARM64 #19064; ext/gd: fix emmintrin.h not found on Windows ARM64 --- Zend/zend_vm_execute.h | 2 +- Zend/zend_vm_execute.skl | 2 +- ext/gd/libgd/gd_interpolation.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 25e537dc1c0..96bdc01746a 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -55088,7 +55088,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_NULL_HANDLER(ZEND_OPCODE_HANDL # pragma GCC optimize("no-gcse") # pragma GCC optimize("no-ivopts") #endif -#ifdef _WIN64 +#if defined(_WIN64) && defined(_M_X64) /* See save_xmm_x86_64_ms_masm.asm */ void execute_ex_real(zend_execute_data *ex) #else diff --git a/Zend/zend_vm_execute.skl b/Zend/zend_vm_execute.skl index 5b4799cd67c..b1e26d00260 100644 --- a/Zend/zend_vm_execute.skl +++ b/Zend/zend_vm_execute.skl @@ -5,7 +5,7 @@ # pragma GCC optimize("no-gcse") # pragma GCC optimize("no-ivopts") #endif -#ifdef _WIN64 +#if defined(_WIN64) && defined(_M_X64) /* See save_xmm_x86_64_ms_masm.asm */ void {%EXECUTOR_NAME%}_ex_real(zend_execute_data *ex) #else diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 5481fa2a16b..4aa2b79b7a7 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -62,7 +62,7 @@ TODO: #include "gdhelpers.h" #include "gd_intern.h" -#ifdef _MSC_VER +#if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)) # pragma optimize("t", on) # include #endif