Rebase against 123c0543e0bb4c99fbee0a568e786405ff886a93.

This commit is contained in:
Zebediah Figura 2020-03-27 16:55:10 -05:00
parent e5da84dc36
commit f9d1798edb
7 changed files with 72 additions and 79 deletions

View File

@ -1,4 +1,4 @@
From bcf36a9100a2452469c0058798073a72e1dba8f9 Mon Sep 17 00:00:00 2001
From 6e41aeac02672253805dbadf694965cd1fb925bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 3 Apr 2017 05:56:19 +0200
Subject: ntdll: Use HashLinks when searching for a dll using the basename.
@ -8,11 +8,11 @@ Subject: ntdll: Use HashLinks when searching for a dll using the basename.
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index d9b6b7d1c7..7f0d2e7375 100644
index 289c15a7be3..88fd86ce2be 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -509,10 +509,10 @@ static WINE_MODREF *find_basename_module( LPCWSTR name )
if (cached_modref && !strcmpiW( name, cached_modref->ldr.BaseDllName.Buffer ))
@@ -541,10 +541,10 @@ static WINE_MODREF *find_basename_module( LPCWSTR name )
if (cached_modref && RtlEqualUnicodeString( &name_str, &cached_modref->ldr.BaseDllName, TRUE ))
return cached_modref;
- mark = &NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList;
@ -21,9 +21,9 @@ index d9b6b7d1c7..7f0d2e7375 100644
{
- LDR_MODULE *mod = CONTAINING_RECORD(entry, LDR_MODULE, InLoadOrderModuleList);
+ LDR_MODULE *mod = CONTAINING_RECORD(entry, LDR_MODULE, HashLinks);
if (!strcmpiW( name, mod->BaseDllName.Buffer ))
if (RtlEqualUnicodeString( &name_str, &mod->BaseDllName, TRUE ))
{
cached_modref = CONTAINING_RECORD(mod, WINE_MODREF, ldr);
--
2.11.0
2.25.1

View File

@ -1,4 +1,4 @@
From 6c7f51234dfee692fb1ecc6045dcfc8ceb0a8a81 Mon Sep 17 00:00:00 2001
From fb9f83f9c1043dfff84c51f7223bee172c9ac40f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 27 Jul 2014 03:35:42 +0200
Subject: [PATCH] ntdll: Allow special characters in pipe names.
@ -10,7 +10,7 @@ Based on patch by Valentyn Pavliuchenko.
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index 20f3450c6d..fb6f1476d6 100644
index 3c7ca06a045..453dcc80b7b 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -30,6 +30,7 @@
@ -38,10 +38,10 @@ index 20f3450c6d..fb6f1476d6 100644
}
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index d6bf1354a5..0edd6c9a50 100644
index 993a661015e..aaf7c6eeed4 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -2756,6 +2756,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2747,6 +2747,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
UINT disposition, BOOLEAN check_case )
{
static const WCHAR unixW[] = {'u','n','i','x'};
@ -49,15 +49,15 @@ index d6bf1354a5..0edd6c9a50 100644
static const WCHAR invalid_charsW[] = { INVALID_NT_CHARS, 0 };
NTSTATUS status = STATUS_SUCCESS;
@@ -2766,6 +2767,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2757,6 +2758,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
int pos, ret, name_len, unix_len, prefix_len;
WCHAR prefix[MAX_DIR_ENTRY_LEN];
WCHAR prefix[MAX_DIR_ENTRY_LEN + 1];
BOOLEAN is_unix = FALSE;
+ BOOLEAN is_pipe = FALSE;
name = nameW->Buffer;
name_len = nameW->Length / sizeof(WCHAR);
@@ -2799,13 +2801,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2792,13 +2794,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
name += prefix_len;
name_len -= prefix_len;
@ -80,5 +80,5 @@ index d6bf1354a5..0edd6c9a50 100644
else
{
--
2.24.1
2.25.1

View File

@ -1,4 +1,4 @@
From 06a283fc4f686ee3c3cf33fec4f7e7b2c3f64bc4 Mon Sep 17 00:00:00 2001
From 097c8310c57f8f5cbcd83da40436a35703f9c1cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 9 Mar 2017 16:27:23 +0100
Subject: [PATCH] ntdll: Fill process kernel and user time.
@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Fill process kernel and user time.
3 files changed, 57 insertions(+), 37 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 91d504f90aa..9c138726d68 100644
index 9ab9be4d0ce..81ed188c8bb 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2600,6 +2600,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2645,6 +2645,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
{
SYSTEM_PROCESS_INFORMATION* spi = SystemInformation;
SYSTEM_PROCESS_INFORMATION* last = NULL;
@ -21,7 +21,7 @@ index 91d504f90aa..9c138726d68 100644
HANDLE hSnap = 0;
WCHAR procname[1024];
WCHAR* exename;
@@ -2637,7 +2638,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2682,7 +2683,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
if (Length >= len + procstructlen)
{
@ -30,7 +30,7 @@ index 91d504f90aa..9c138726d68 100644
* vmCounters, ioCounters
*/
@@ -2655,6 +2656,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2700,6 +2701,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
/* spi->ti will be set later on */
@ -41,7 +41,7 @@ index 91d504f90aa..9c138726d68 100644
len += procstructlen;
}
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 70707bec042..db7f00359cf 100644
index 20feabf56b8..9a487a0520d 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -270,6 +270,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
@ -53,10 +53,10 @@ index 70707bec042..db7f00359cf 100644
+ LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
+
/* string functions */
int __cdecl NTDLL_tolower( int c );
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
int __cdecl NTDLL_tolower( int c );
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index c6b70c557b4..029d94d8a38 100644
index 73e530da4f5..711a8bb1898 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -153,6 +153,53 @@ static ULONG_PTR get_image_addr(void)
@ -113,7 +113,7 @@ index c6b70c557b4..029d94d8a38 100644
/***********************************************************************
* set_process_name
*
@@ -975,42 +1022,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
@@ -963,42 +1010,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
#ifdef __linux__
/* only /proc provides exact values for a specific thread */
if (unix_pid != -1 && unix_tid != -1)
@ -158,5 +158,5 @@ index c6b70c557b4..029d94d8a38 100644
/* get values for current process instead */
--
2.23.0
2.25.1

View File

@ -1,4 +1,4 @@
From 9374f7ab587fe60c0e3436d15adf917a44e08711 Mon Sep 17 00:00:00 2001
From 1b90b687170f3a00093fcdf0914c9f89aea3a3bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 9 Mar 2017 22:56:45 +0100
Subject: [PATCH] ntdll: Fill process virtual memory counters in
@ -13,10 +13,10 @@ FIXME: fill_VM_COUNTERS now uses a different method ... which one is better?
4 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 8382b61f2cb..c224fab14f9 100644
index c2466aa5bdf..6540a353fbe 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2659,8 +2659,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2704,8 +2704,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
/* spi->ti will be set later on */
if (reply->unix_pid != -1)
@ -29,22 +29,22 @@ index 8382b61f2cb..c224fab14f9 100644
}
len += procstructlen;
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index f258bb601c2..7ceb3132a7c 100644
index 9a487a0520d..37b4f6fca14 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -272,6 +272,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
@@ -273,6 +273,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
/* process / thread time */
extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
+extern BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi) DECLSPEC_HIDDEN;
/* string functions */
int __cdecl NTDLL_tolower( int c );
int __cdecl NTDLL_tolower( int c );
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index 9e5c0d39e78..9eecacb6728 100644
index 0f248378842..043aebe09bf 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -206,7 +206,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
@@ -192,7 +192,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
{
@ -54,10 +54,10 @@ index 9e5c0d39e78..9eecacb6728 100644
#endif
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index bb18a22bad5..d010c018102 100644
index 711a8bb1898..843df8905f5 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -362,6 +362,42 @@ TEB *thread_init(void)
@@ -366,6 +366,42 @@ TEB *thread_init(void)
return teb;
}
@ -101,5 +101,5 @@ index bb18a22bad5..d010c018102 100644
/***********************************************************************
* free_thread_data
--
2.17.1
2.25.1

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "9c190f8118faa2f4708e86340e3e0440f668835b"
echo "123c0543e0bb4c99fbee0a568e786405ff886a93"
}
# Show version information

View File

@ -1,22 +1,22 @@
From c6c3f424a6ee8983f37d3ce212dfd5519a195055 Mon Sep 17 00:00:00 2001
From 4855e0338f57525304221ba1c29c3926a9f16263 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 15 May 2017 16:27:56 +0200
Subject: [PATCH] winebuild: Add stub functions in fake dlls.
---
dlls/kernel32/tests/loader.c | 8 +-
dlls/ntdll/signal_i386.c | 40 +++++++
dlls/ntdll/signal_i386.c | 34 ++++++
include/winternl.h | 2 +-
tools/winebuild/build.h | 1 +
tools/winebuild/spec32.c | 209 +++++++++++++++++++++++++++++++++--
tools/winebuild/utils.c | 10 +-
6 files changed, 255 insertions(+), 15 deletions(-)
6 files changed, 249 insertions(+), 15 deletions(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index 4d9a26075..29cf15585 100644
index e72dea9ca51..bf3cf00f964 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -1559,9 +1559,7 @@ static void test_FakeDLL(void)
@@ -1560,9 +1560,7 @@ static void test_FakeDLL(void)
ok(ptr != NULL, "MapViewOfFile failed with error %u\n", GetLastError());
dir = RtlImageDirectoryEntryToData(ptr, TRUE, IMAGE_DIRECTORY_ENTRY_EXPORT, &size);
@ -26,7 +26,7 @@ index 4d9a26075..29cf15585 100644
names = RVAToAddr(dir->AddressOfNames, ptr);
ordinals = RVAToAddr(dir->AddressOfNameOrdinals, ptr);
@@ -1590,17 +1588,20 @@ todo_wine
@@ -1591,17 +1589,20 @@ todo_wine
/* check position in memory */
dll_rva = (DWORD_PTR)dll_func - (DWORD_PTR)module;
map_rva = funcs[ordinals[i]];
@ -47,7 +47,7 @@ index 4d9a26075..29cf15585 100644
ok(!memcmp(map_func, dll_func, 0x20), "%s: Function content does not match!\n", func_name);
if (!strcmp(func_name, "NtSetEvent"))
@@ -1614,10 +1615,11 @@ todo_wine
@@ -1615,10 +1616,11 @@ todo_wine
ok(event != NULL, "CreateEvent failed with error %u\n", GetLastError());
pNtSetEvent(event, 0);
ok(WaitForSingleObject(event, 0) == WAIT_OBJECT_0, "Event was not signaled\n");
@ -61,19 +61,13 @@ index 4d9a26075..29cf15585 100644
CloseHandle(map);
CloseHandle(file);
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index a0f8b3a2e..e55164630 100644
index a0f8b3a2ec6..72285f0b456 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -445,6 +445,45 @@ static wine_signal_handler handlers[256];
@@ -445,6 +445,39 @@ static wine_signal_handler handlers[256];
extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
extern NTSTATUS WINAPI __syscall_NtGetContextThread( HANDLE handle, CONTEXT *context );
+/* convert from straight ASCII to Unicode without depending on the current codepage */
+static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
+{
+ while (len--) *dst++ = (unsigned char)*src++;
+}
+
+static void* WINAPI __wine_fakedll_dispatcher( const char *module, ULONG ord )
+{
+ UNICODE_STRING name;
@ -110,7 +104,7 @@ index a0f8b3a2e..e55164630 100644
enum i386_trap_code
{
TRAP_x86_UNKNOWN = -1, /* Unknown fault (TRAP_sig not defined) */
@@ -2307,6 +2346,7 @@ NTSTATUS signal_alloc_thread( TEB **teb )
@@ -2307,6 +2340,7 @@ NTSTATUS signal_alloc_thread( TEB **teb )
(*teb)->Tib.Self = &(*teb)->Tib;
(*teb)->Tib.ExceptionList = (void *)~0UL;
(*teb)->WOW32Reserved = __wine_syscall_dispatcher;
@ -119,7 +113,7 @@ index a0f8b3a2e..e55164630 100644
if (!(thread_data->fs = wine_ldt_alloc_fs()))
{
diff --git a/include/winternl.h b/include/winternl.h
index 713e71802..754bdae14 100644
index 1fbf05b0125..f44722093ba 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -398,7 +398,7 @@ typedef struct _TEB
@ -132,7 +126,7 @@ index 713e71802..754bdae14 100644
PVOID ReservedForPerf; /* f7c/1750 */
PVOID ReservedForOle; /* f80/1758 */
diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
index 53d4ba192..09a654de1 100644
index e0d33036440..6712a694773 100644
--- a/tools/winebuild/build.h
+++ b/tools/winebuild/build.h
@@ -357,6 +357,7 @@ extern void put_word( unsigned short val );
@ -144,7 +138,7 @@ index 53d4ba192..09a654de1 100644
extern void align_output_rva( unsigned int file_align, unsigned int rva_align );
extern size_t label_pos( const char *name );
diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
index e67cb48cd..692db4c7e 100644
index e67cb48cd08..692db4c7e0b 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -884,6 +884,163 @@ void output_spec32_file( DLLSPEC *spec )
@ -400,10 +394,10 @@ index e67cb48cd..692db4c7e 100644
/* .reloc contents */
align_output_rva( file_align, section_align );
diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c
index f53e09227..0f4642d43 100644
index b0be1b594b3..b1e34c5da18 100644
--- a/tools/winebuild/utils.c
+++ b/tools/winebuild/utils.c
@@ -548,7 +548,7 @@ size_t output_buffer_size;
@@ -549,7 +549,7 @@ size_t output_buffer_size;
struct label
{
struct list entry;
@ -412,7 +406,7 @@ index f53e09227..0f4642d43 100644
size_t pos;
size_t rva;
};
@@ -566,7 +566,7 @@ struct label *get_label( const char *name )
@@ -567,7 +567,7 @@ struct label *get_label( const char *name )
}
label = xmalloc( sizeof(*label) );
@ -421,7 +415,7 @@ index f53e09227..0f4642d43 100644
label->pos = 0;
label->rva = 0;
@@ -618,6 +618,7 @@ void free_labels( void )
@@ -619,6 +619,7 @@ void free_labels( void )
LIST_FOR_EACH_ENTRY_SAFE( label, label2, &labels, struct label, entry )
{
list_remove( &label->entry );
@ -429,7 +423,7 @@ index f53e09227..0f4642d43 100644
free( label );
}
}
@@ -749,6 +750,11 @@ void put_pword( unsigned int val )
@@ -750,6 +751,11 @@ void put_pword( unsigned int val )
else put_dword( val );
}
@ -442,5 +436,5 @@ index f53e09227..0f4642d43 100644
{
size_t size = align - (output_buffer_pos % align);
--
2.25.0
2.25.1

View File

@ -1,4 +1,4 @@
From 162663c659f87dc2ddf09202e7988ff4d50368e7 Mon Sep 17 00:00:00 2001
From 3d74d528e07008df764caef28993d551bfd934ba Mon Sep 17 00:00:00 2001
From: Paul Gofman <gofmanp@gmail.com>
Date: Fri, 3 Jan 2020 17:39:08 +0300
Subject: [PATCH] ntdll: Call NtOpenFile through syscall thunk.
@ -9,13 +9,13 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48410
dlls/ntdll/directory.c | 2 +-
dlls/ntdll/loader.c | 2 +-
dlls/ntdll/locale.c | 4 ++--
dlls/ntdll/ntdll_misc.h | 9 +++++++++
dlls/ntdll/ntdll_misc.h | 8 ++++++++
dlls/ntdll/path.c | 2 +-
dlls/ntdll/process.c | 2 +-
7 files changed, 17 insertions(+), 8 deletions(-)
7 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index c5134198285..0c6cda1cfaa 100644
index d5f376f224e..cb6b9bb5097 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -2890,7 +2890,7 @@ static NTSTATUS open_nt_file( HANDLE *handle, UNICODE_STRING *name )
@ -37,10 +37,10 @@ index c5134198285..0c6cda1cfaa 100644
{
sxs_ai = *ai;
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index 95af2dde240..ba50aa1b807 100644
index 993a661015e..7d1ed8c83ba 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -3012,7 +3012,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd )
@@ -3000,7 +3000,7 @@ NTSTATUS DIR_get_unix_cwd( char **cwd )
attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL;
@ -50,10 +50,10 @@ index 95af2dde240..ba50aa1b807 100644
RtlFreeUnicodeString( &dirW );
if (status != STATUS_SUCCESS) goto done;
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 7e8fd20e9d7..8fcd53b26ba 100644
index 9cd2d7255ae..34e799e4e2a 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -2375,7 +2375,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm,
@@ -2372,7 +2372,7 @@ static NTSTATUS open_dll_file( UNICODE_STRING *nt_name, WINE_MODREF **pwm,
attr.ObjectName = nt_name;
attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL;
@ -63,7 +63,7 @@ index 7e8fd20e9d7..8fcd53b26ba 100644
FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE )))
{
diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c
index afd65f3c02c..52f5d1f1d83 100644
index 123b8985b1c..20d13407077 100644
--- a/dlls/ntdll/locale.c
+++ b/dlls/ntdll/locale.c
@@ -659,7 +659,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
@ -85,14 +85,13 @@ index afd65f3c02c..52f5d1f1d83 100644
}
RtlFreeUnicodeString( &valueW );
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 94e8bf54576..0d8a603c859 100644
index 3c33d304a24..e3d3d418adf 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -289,4 +289,13 @@ extern BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi) DECLSPEC_
/* string functions */
int __cdecl NTDLL_tolower( int c );
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
+
@@ -323,4 +323,12 @@ static inline void ascii_to_unicode( WCHAR *dst, const char *src, size_t len )
while (len--) *dst++ = (unsigned char)*src++;
}
+#if defined(__i386__) || defined(__x86_64__)
+NTSTATUS WINAPI __syscall_NtOpenFile( PHANDLE handle, ACCESS_MASK access,
+ POBJECT_ATTRIBUTES attr, PIO_STATUS_BLOCK io,
@ -103,7 +102,7 @@ index 94e8bf54576..0d8a603c859 100644
+
#endif
diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c
index 610646be85b..e37c8957e24 100644
index 65539fa0188..635eba0251f 100644
--- a/dlls/ntdll/path.c
+++ b/dlls/ntdll/path.c
@@ -1021,7 +1021,7 @@ NTSTATUS WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING* dir)
@ -116,7 +115,7 @@ index 610646be85b..e37c8957e24 100644
if (nts != STATUS_SUCCESS) goto out;
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index a1c688745a7..83d610010b3 100644
index 5d5ea6d20d1..0d8096af91f 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -1396,7 +1396,7 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,