Module: wine Branch: master Commit: 6e6450fd96f2ab3ab1535a2c0a9b0efd8e84802d URL: https://gitlab.winehq.org/wine/wine/-/commit/6e6450fd96f2ab3ab1535a2c0a9b0ef...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Jun 12 09:55:52 2024 +0200
ntdll: Also load arm64 manifests for amd64 architecture on ARM64EC.
---
dlls/ntdll/actctx.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c index 06d5b2f7937..a4581d05b91 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -596,12 +596,12 @@ static const xmlstr_t empty_xmlstr;
#ifdef __i386__ static const WCHAR current_archW[] = L"x86"; +#elif defined __aarch64__ || defined __arm64ec__ +static const WCHAR current_archW[] = L"arm64"; #elif defined __x86_64__ static const WCHAR current_archW[] = L"amd64"; #elif defined __arm__ static const WCHAR current_archW[] = L"arm"; -#elif defined __aarch64__ -static const WCHAR current_archW[] = L"arm64"; #else static const WCHAR current_archW[] = L"none"; #endif @@ -3176,6 +3176,10 @@ static WCHAR *lookup_manifest_file( HANDLE dir, struct assembly_identity *ai ) ai->version.major, ai->version.minor, lang ); RtlInitUnicodeString( &lookup_us, lookup );
+#ifdef __arm64ec__ + if (!wcsncmp( lookup, L"amd64_", 6 )) memcpy( lookup, L"a??", 3 * sizeof(WCHAR) ); +#endif + if (!NtQueryDirectoryFile( dir, 0, NULL, NULL, &io, buffer, sizeof(buffer), FileBothDirectoryInformation, FALSE, &lookup_us, TRUE )) {