wine-staging/patches/ntdll-RtlAddGrowableFunctionTable/0001-ntdll-Add-RtlAddGrowableFunctionTable-stub.patch
2018-11-22 14:33:16 +11:00

108 lines
4.1 KiB
Diff

From 8a9a381c788c317f95e7e95c347459f0bc720829 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Wed, 24 Jan 2018 22:27:51 -0700
Subject: [PATCH 1/2] ntdll: Add RtlAddGrowableFunctionTable stub
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
---
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