Skip to content

Undefined symbol 'execute_ex' on Windows ARM64 #19064

Closed

Description

@hyh19962008

Description

Hi, these lines of code in php-src\Zend\zend_vm_execute.h need to be changed to like the following, because "_WIN64" is also valid on ARM64 platform:

#if defined(_WIN64) && defined(_M_X64)
/* See save_xmm_x86_64_ms_masm.asm */
void execute_ex_real(zend_execute_data *ex)

PHP Version

PHP 8.4.10 (cli) (built: Jul  7 2025 12:56:28) (NTS Visual C++ 2022 arm64)
Copyright (c) The PHP Group
Zend Engine v4.4.10, Copyright (c) Zend Technologies

Operating System

Windows 11 ARM64

Activity

  1. iluuu1994 commented on Jul 7, 2025

    @iluuu1994
    Member

    Hi @hyh19962008. I think you're right. Can you please send a PR targetting 8.4? Note that you should edit Zend/zend_vm_execute.skl rather than Zend/zend_vm_execute.h. /cc @nielsdos (as author of #18352).

  2. ndossche commented on Jul 7, 2025

    @ndossche
    Member

    That patch idea should work indeed. This wasn't caught because we don't do arm64 builds on windows nor support it.

  3. hyh19962008 commented on Jul 8, 2025

    @hyh19962008
    ContributorAuthor

    OK, PR #19068 is created.

  4. ndossche commented on Jul 10, 2025

    @ndossche
    Member

    Fixed via #19068, but forgot to link the issue. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions