From: Austin English austinenglish@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42255 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- Copied from https://bugs.winehq.org/attachment.cgi?id=59935 with minor changes. --- dlls/ntdll/ntdll.spec | 1 + dlls/ntdll/signal_arm.c | 10 ++++++++++ dlls/ntdll/signal_arm64.c | 12 ++++++++++++ dlls/ntdll/signal_x86_64.c | 12 ++++++++++++ 4 files changed, 35 insertions(+)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 1b0bd7f53f..1f3aeaa0bc 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -434,6 +434,7 @@ @ stdcall RtlAddMandatoryAce(ptr long long long long ptr) # @ stub RtlAddRange @ cdecl -arch=arm,arm64,x86_64 RtlAddFunctionTable(ptr long long) +@ cdecl -arch=arm,arm64,x86_64 RtlAddGrowableFunctionTable(ptr ptr long long long long) @ stdcall RtlAddRefActivationContext(ptr) # @ stub RtlAddRefMemoryStream @ stdcall RtlAddVectoredContinueHandler(long ptr) diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c index da0c8fb71e..72087a2c4c 100644 --- a/dlls/ntdll/signal_arm.c +++ b/dlls/ntdll/signal_arm.c @@ -1058,6 +1058,16 @@ BOOLEAN CDECL RtlAddFunctionTable( RUNTIME_FUNCTION *table, DWORD count, DWORD a return TRUE; }
+/************************************************************************* + * RtlAddGrowableFunctionTable (NTDLL.@) + */ +DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functions, DWORD count, DWORD max_count, + ULONG_PTR base, ULONG_PTR end ) +{ + FIXME( "(%p, %p, %d, %d, %ld, %ld) stub!\n", table, functions, count, max_count, base, end ); + if (table) *table = NULL; + return S_OK; +}
/********************************************************************** * RtlDeleteFunctionTable (NTDLL.@) diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index 4d2d127711..22a861da60 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -977,6 +977,18 @@ BOOLEAN CDECL RtlAddFunctionTable( RUNTIME_FUNCTION *table, DWORD count, ULONG_P }
+/************************************************************************* + * RtlAddGrowableFunctionTable (NTDLL.@) + */ +DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functions, DWORD count, DWORD max_count, + ULONG_PTR base, ULONG_PTR end ) +{ + FIXME( "(%p, %p, %d, %d, %ld, %ld) stub!\n", table, functions, count, max_count, base, end ); + if (table) *table = NULL; + return S_OK; +} + + /********************************************************************** * RtlDeleteFunctionTable (NTDLL.@) */ diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index 7228adb3ab..3f886a785c 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -3506,6 +3506,18 @@ BOOLEAN CDECL RtlInstallFunctionTableCallback( DWORD64 table, DWORD64 base, DWOR }
+/************************************************************************* + * RtlAddGrowableFunctionTable (NTDLL.@) + */ +DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functions, DWORD count, DWORD max_count, + ULONG_PTR base, ULONG_PTR end ) +{ + FIXME( "(%p, %p, %d, %d, %ld, %ld) semi-stub!\n", table, functions, count, max_count, base, end ); + if (table) *table = NULL; + return RtlAddFunctionTable(functions, count, base); +} + + /********************************************************************** * RtlDeleteFunctionTable (NTDLL.@) */
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- After this, the only thing that Xenia still needs is Vulkan 1.1. --- dlls/ntdll/ntdll.spec | 1 + dlls/ntdll/signal_arm.c | 8 ++++++++ dlls/ntdll/signal_arm64.c | 9 +++++++++ dlls/ntdll/signal_x86_64.c | 9 +++++++++ 4 files changed, 27 insertions(+)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 1f3aeaa0bc..3741eb9397 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -683,6 +683,7 @@ @ stdcall RtlGetUnloadEventTrace() @ stub RtlGetUserInfoHeap @ stdcall RtlGetVersion(ptr) +@ stdcall -arch=arm,arm64,x86_64 RtlGrowFunctionTable(ptr long) @ stub RtlGuidToPropertySetName @ stdcall RtlHashUnicodeString(ptr long long ptr) @ stdcall RtlIdentifierAuthoritySid(ptr) diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c index 72087a2c4c..88914cd096 100644 --- a/dlls/ntdll/signal_arm.c +++ b/dlls/ntdll/signal_arm.c @@ -1069,6 +1069,14 @@ DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functi return S_OK; }
+/************************************************************************* + * RtlGrowFunctionTable (NTDLL.@) + */ +void WINAPI RtlGrowFunctionTable( void *table, DWORD count ) +{ + FIXME( "(%p, %d) stub!\n", table, count ); +} + /********************************************************************** * RtlDeleteFunctionTable (NTDLL.@) */ diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index 22a861da60..c976884ff0 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -989,6 +989,15 @@ DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functi }
+/************************************************************************* + * RtlGrowFunctionTable (NTDLL.@) + */ +void WINAPI RtlGrowFunctionTable( void *table, DWORD count ) +{ + FIXME( "(%p, %d) stub!\n", table, count ); +} + + /********************************************************************** * RtlDeleteFunctionTable (NTDLL.@) */ diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index 3f886a785c..0e515ff969 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -3518,6 +3518,15 @@ DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functi }
+/************************************************************************* + * RtlGrowFunctionTable (NTDLL.@) + */ +void WINAPI RtlGrowFunctionTable( void *table, DWORD count ) +{ + FIXME( "(%p, %d) stub!\n", table, count ); +} + + /********************************************************************** * RtlDeleteFunctionTable (NTDLL.@) */
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=45334
Your paranoid android.
=== debian9 (32 bit report) ===
ntdll: pipe.c:1557: Test failed: pipe is not signaled pipe.c:1576: Test failed: pipe is not signaled