Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46143 Signed-off-by: Andr� Hentschel nerv@dawncrow.de --- .../api-ms-win-core-rtlsupport-l1-1-0.spec | 4 ++-- dlls/kernel32/kernel32.spec | 4 ++-- dlls/ntdll/ntdll.spec | 4 ++-- dlls/ntdll/signal_arm64.c | 19 +++++++++++++++++++ include/winnt.h | 3 +++ 5 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/dlls/api-ms-win-core-rtlsupport-l1-1-0/api-ms-win-core-rtlsupport-l1-1-0.spec b/dlls/api-ms-win-core-rtlsupport-l1-1-0/api-ms-win-core-rtlsupport-l1-1-0.spec index 428fd06bb7..1c5744d7f0 100644 --- a/dlls/api-ms-win-core-rtlsupport-l1-1-0/api-ms-win-core-rtlsupport-l1-1-0.spec +++ b/dlls/api-ms-win-core-rtlsupport-l1-1-0/api-ms-win-core-rtlsupport-l1-1-0.spec @@ -1,9 +1,9 @@ -@ cdecl -arch=arm,x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable +@ cdecl -arch=arm,arm64,x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable @ stdcall -norelay RtlCaptureContext(ptr) ntdll.RtlCaptureContext @ stdcall RtlCaptureStackBackTrace(long long ptr ptr) ntdll.RtlCaptureStackBackTrace @ stdcall RtlCompareMemory(ptr ptr long) ntdll.RtlCompareMemory @ stdcall -arch=x86_64 RtlCopyMemory(ptr ptr long) ntdll.RtlCopyMemory -@ cdecl -arch=arm,x86_64 RtlDeleteFunctionTable(ptr) ntdll.RtlDeleteFunctionTable +@ cdecl -arch=arm,arm64,x86_64 RtlDeleteFunctionTable(ptr) ntdll.RtlDeleteFunctionTable @ stdcall RtlFillMemory(ptr long long) ntdll.RtlFillMemory @ cdecl -arch=x86_64 RtlInstallFunctionTableCallback(long long long ptr ptr wstr) ntdll.RtlInstallFunctionTableCallback @ stdcall -arch=arm,x86_64 RtlLookupFunctionEntry(long ptr ptr) ntdll.RtlLookupFunctionEntry diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 5c2e426130..85fce3725a 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1284,12 +1284,12 @@ @ stdcall ResolveLocaleName(wstr ptr long) @ stdcall RestoreLastError(long) ntdll.RtlRestoreLastWin32Error @ stdcall ResumeThread(long) -@ cdecl -arch=arm,x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable +@ cdecl -arch=arm,arm64,x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable @ stdcall -norelay RtlCaptureContext(ptr) ntdll.RtlCaptureContext @ stdcall RtlCaptureStackBackTrace(long long ptr ptr) ntdll.RtlCaptureStackBackTrace @ stdcall -arch=x86_64 RtlCompareMemory(ptr ptr long) ntdll.RtlCompareMemory @ stdcall -arch=x86_64 RtlCopyMemory(ptr ptr long) ntdll.RtlCopyMemory -@ cdecl -arch=arm,x86_64 RtlDeleteFunctionTable(ptr) ntdll.RtlDeleteFunctionTable +@ cdecl -arch=arm,arm64,x86_64 RtlDeleteFunctionTable(ptr) ntdll.RtlDeleteFunctionTable @ stdcall RtlFillMemory(ptr long long) ntdll.RtlFillMemory @ cdecl -arch=x86_64 RtlInstallFunctionTableCallback(long long long ptr ptr ptr) ntdll.RtlInstallFunctionTableCallback @ stdcall -arch=arm,x86_64 RtlLookupFunctionEntry(long ptr ptr) ntdll.RtlLookupFunctionEntry diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 3486a78fe3..1b0bd7f53f 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -433,7 +433,7 @@ # @ stub RtlAddCompoundAce @ stdcall RtlAddMandatoryAce(ptr long long long long ptr) # @ stub RtlAddRange -@ cdecl -arch=arm,x86_64 RtlAddFunctionTable(ptr long long) +@ cdecl -arch=arm,arm64,x86_64 RtlAddFunctionTable(ptr long long) @ stdcall RtlAddRefActivationContext(ptr) # @ stub RtlAddRefMemoryStream @ stdcall RtlAddVectoredContinueHandler(long ptr) @@ -543,7 +543,7 @@ @ stdcall RtlDeleteCriticalSection(ptr) @ stub RtlDeleteElementGenericTable @ stub RtlDeleteElementGenericTableAvl -@ cdecl -arch=arm,x86_64 RtlDeleteFunctionTable(ptr) +@ cdecl -arch=arm,arm64,x86_64 RtlDeleteFunctionTable(ptr) @ stub RtlDeleteNoSplay @ stub RtlDeleteOwnersRanges @ stub RtlDeleteRange diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index 91a7e3beec..0ab402ef70 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -947,6 +947,25 @@ void signal_init_process(void) }
+/********************************************************************** + * RtlAddFunctionTable (NTDLL.@) + */ +BOOLEAN CDECL RtlAddFunctionTable( RUNTIME_FUNCTION *table, DWORD count, ULONG_PTR addr ) +{ + FIXME( "%p %u %lx: stub\n", table, count, addr ); + return TRUE; +} + + +/********************************************************************** + * RtlDeleteFunctionTable (NTDLL.@) + */ +BOOLEAN CDECL RtlDeleteFunctionTable( RUNTIME_FUNCTION *table ) +{ + FIXME( "%p: stub\n", table ); + return TRUE; +} + /*********************************************************************** * RtlUnwind (NTDLL.@) */ diff --git a/include/winnt.h b/include/winnt.h index 035d5bd097..742b47bfb2 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -1875,6 +1875,9 @@ typedef struct _CONTEXT DWORD64 Wvr[ARM64_MAX_WATCHPOINTS]; /* 380 */ } CONTEXT;
+BOOLEAN CDECL RtlAddFunctionTable(RUNTIME_FUNCTION*,DWORD,ULONG_PTR); +BOOLEAN CDECL RtlDeleteFunctionTable(RUNTIME_FUNCTION*); + #endif /* __aarch64__ */
Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=44412
Your paranoid android.
=== debian9 (32 bit Wine report) ===
ntdll: pipe.c:1557: Test failed: pipe is not signaled pipe.c:1557: Test failed: pipe is not signaled