mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against 123c0543e0bb4c99fbee0a568e786405ff886a93.
This commit is contained in:
parent
e5da84dc36
commit
f9d1798edb
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "9c190f8118faa2f4708e86340e3e0440f668835b"
|
||||
echo "123c0543e0bb4c99fbee0a568e786405ff886a93"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -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
|
||||
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user