Skip to content

Commit

Permalink
ntdll: Add RtlAddGrowableFunctionTable stub
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
---
Copied from https://bugs.winehq.org/show_bug.cgi?id=42255 with minor
changes. Xenia needs this function to return S_OK. However, if I
understand correctly, faking success is fine because Xenia only needs
these function tables for debug backtraces, which are not produced
during the normal operation of the program.

Fixes https://bugs.winehq.org/show_bug.cgi?id=42255
  • Loading branch information
austin987 authored and alexhenrie committed Nov 10, 2018
1 parent 5fde7ce commit 2149d8f
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
1 change: 1 addition & 0 deletions dlls/ntdll/ntdll.spec
Expand Up @@ -434,6 +434,7 @@
@ stdcall RtlAddMandatoryAce(ptr long long long long ptr)
# @ stub RtlAddRange
@ cdecl -arch=arm,x86_64 RtlAddFunctionTable(ptr long long)
@ cdecl -arch=arm,x86_64 RtlAddGrowableFunctionTable(ptr ptr long long long long)
@ stdcall RtlAddRefActivationContext(ptr)
# @ stub RtlAddRefMemoryStream
@ stdcall RtlAddVectoredContinueHandler(long ptr)
Expand Down
10 changes: 10 additions & 0 deletions dlls/ntdll/signal_arm.c
Expand Up @@ -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.@)
Expand Down
12 changes: 12 additions & 0 deletions dlls/ntdll/signal_x86_64.c
Expand Up @@ -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) stub!\n", table, functions, count, max_count, base, end );
if (table) *table = NULL;
return S_OK;
}


/**********************************************************************
* RtlDeleteFunctionTable (NTDLL.@)
*/
Expand Down

0 comments on commit 2149d8f

Please sign in to comment.