Module: wine Branch: master Commit: 3242676e2e15e0210552e4f8d58917d2500d5be4 URL: https://gitlab.winehq.org/wine/wine/-/commit/3242676e2e15e0210552e4f8d58917d...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Dec 2 11:31:13 2022 +0100
ntdll: Only build the wow64 function table on 64-bit.
---
dlls/ntdll/unix/loader.c | 3 +++ dlls/ntdll/unix/virtual.c | 8 ++++++++ 2 files changed, 11 insertions(+)
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index 0a445966cc0..7243be49489 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -2136,6 +2136,8 @@ const unixlib_entry_t __wine_unix_call_funcs[] = };
+#ifdef _WIN64 + static NTSTATUS wow64_load_so_dll( void *args ) { return STATUS_INVALID_IMAGE_FORMAT; } static NTSTATUS wow64_init_builtin_dll( void *args ) { return STATUS_UNSUCCESSFUL; } static NTSTATUS wow64_unwind_builtin_dll( void *args ) { return STATUS_UNSUCCESSFUL; } @@ -2151,6 +2153,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = system_time_precise, };
+#endif /* _WIN64 */
/*********************************************************************** * start_main_thread diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c index 17ab6ae9622..2a00ac52811 100644 --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c @@ -647,7 +647,11 @@ static NTSTATUS get_builtin_unix_funcs( void *module, BOOL wow, const void **fun
if (module == ntdll_module) { +#ifdef _WIN64 *funcs = wow ? __wine_unix_call_wow64_funcs : __wine_unix_call_funcs; +#else + *funcs = __wine_unix_call_funcs; +#endif return STATUS_SUCCESS; }
@@ -657,7 +661,11 @@ static NTSTATUS get_builtin_unix_funcs( void *module, BOOL wow, const void **fun if (builtin->module != module) continue; if (builtin->unix_path && (p = strrchr( builtin->unix_path, '/' )) && !strcmp( p, "/ntdll.so" )) { +#ifdef _WIN64 *funcs = wow ? __wine_unix_call_wow64_funcs : __wine_unix_call_funcs; +#else + *funcs = __wine_unix_call_funcs; +#endif status = STATUS_SUCCESS; break; }