From 8a9a381c788c317f95e7e95c347459f0bc720829 Mon Sep 17 00:00:00 2001 From: Austin English Date: Wed, 24 Jan 2018 22:27:51 -0700 Subject: [PATCH 1/2] ntdll: Add RtlAddGrowableFunctionTable stub Signed-off-by: Alex Henrie --- dlls/ntdll/ntdll.spec | 1 + dlls/ntdll/signal_arm.c | 10 ++++++++++ dlls/ntdll/signal_arm64.c | 10 ++++++++++ dlls/ntdll/signal_x86_64.c | 12 ++++++++++++ include/winnt.h | 2 ++ 5 files changed, 35 insertions(+) diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 446f2a5..c488fe2 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 da0c8fb..72087a2 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 4d2d127..e072ee0 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -976,6 +976,16 @@ BOOLEAN CDECL RtlAddFunctionTable( RUNTIME_FUNCTION *table, DWORD count, ULONG_P 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_x86_64.c b/dlls/ntdll/signal_x86_64.c index 7228adb..b8cb0a9 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) stub!\n", table, functions, count, max_count, base, end ); + if (table) *table = NULL; + return S_OK; +} + + /********************************************************************** * RtlDeleteFunctionTable (NTDLL.@) */ diff --git a/include/winnt.h b/include/winnt.h index 742b47b..47763dd 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -1146,6 +1146,8 @@ typedef struct _UNWIND_HISTORY_TABLE_ENTRY PRUNTIME_FUNCTION FunctionEntry; } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; +NTSYSAPI DWORD NTAPI RtlAddGrowableFunctionTable(void**,RUNTIME_FUNCTION*,DWORD,DWORD,ULONG_PTR,ULONG_PTR); + #define UNWIND_HISTORY_TABLE_NONE 0 #define UNWIND_HISTORY_TABLE_GLOBAL 1 #define UNWIND_HISTORY_TABLE_LOCAL 2 -- 1.9.1