wine-staging/patches/wow64cpu-Wow64Transition/0001-wow64cpu-Add-stub-dll.patch

129 lines
4.1 KiB
Diff

From 162044fcf5d46edd5cc3c0994ec6085f5cdc3a53 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Tue, 7 Aug 2018 21:05:56 -0500
Subject: [PATCH 1/2] wow64cpu: Add stub dll.
---
configure | 2 ++
configure.ac | 1 +
dlls/wow64cpu/Makefile.in | 6 ++++++
dlls/wow64cpu/wow64cpu.spec | 25 +++++++++++++++++++++++++
dlls/wow64cpu/wow64cpu_main.c | 28 ++++++++++++++++++++++++++++
5 files changed, 62 insertions(+)
create mode 100644 dlls/wow64cpu/Makefile.in
create mode 100644 dlls/wow64cpu/wow64cpu.spec
create mode 100644 dlls/wow64cpu/wow64cpu_main.c
diff --git a/configure b/configure
index 337ce91..477fe02 100755
--- a/configure
+++ b/configure
@@ -1612,6 +1612,7 @@ enable_wmp
enable_wmphoto
enable_wmvcore
enable_wnaspi32
+enable_wow64cpu
enable_wpc
enable_wpcap
enable_ws2_32
@@ -19952,6 +19953,7 @@ wine_fn_config_makefile dlls/wmvcore enable_wmvcore
wine_fn_config_makefile dlls/wmvcore/tests enable_tests
wine_fn_config_makefile dlls/wnaspi32 enable_wnaspi32
wine_fn_config_makefile dlls/wow32 enable_win16
+wine_fn_config_makefile dlls/wow64cpu enable_wow64cpu
wine_fn_config_makefile dlls/wpc enable_wpc
wine_fn_config_makefile dlls/wpc/tests enable_tests
wine_fn_config_makefile dlls/wpcap enable_wpcap
diff --git a/configure.ac b/configure.ac
index be247ea..376b818 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3813,6 +3813,7 @@ WINE_CONFIG_MAKEFILE(dlls/wmvcore)
WINE_CONFIG_MAKEFILE(dlls/wmvcore/tests)
WINE_CONFIG_MAKEFILE(dlls/wnaspi32)
WINE_CONFIG_MAKEFILE(dlls/wow32,enable_win16)
+WINE_CONFIG_MAKEFILE(dlls/wow64cpu)
WINE_CONFIG_MAKEFILE(dlls/wpc)
WINE_CONFIG_MAKEFILE(dlls/wpc/tests)
WINE_CONFIG_MAKEFILE(dlls/wpcap)
diff --git a/dlls/wow64cpu/Makefile.in b/dlls/wow64cpu/Makefile.in
new file mode 100644
index 0000000..d05ff34
--- /dev/null
+++ b/dlls/wow64cpu/Makefile.in
@@ -0,0 +1,6 @@
+MODULE = wow64cpu.dll
+EXTRADLLFLAGS = -nodefaultlibs
+IMPORTS = winecrt0 ntdll
+
+C_SRCS = \
+ wow64cpu_main.c
diff --git a/dlls/wow64cpu/wow64cpu.spec b/dlls/wow64cpu/wow64cpu.spec
new file mode 100644
index 0000000..0ea2b4d
--- /dev/null
+++ b/dlls/wow64cpu/wow64cpu.spec
@@ -0,0 +1,25 @@
+# @ stub CpuFlushInstructionCache
+# @ stub CpuGetContext
+# @ stub CpuGetStackPointer
+# @ stub CpuInitializeStartupContext
+# @ stub CpuNotifyAffinityChange
+# @ stub CpuNotifyAfterFork
+# @ stub CpuNotifyBeforeFork
+# @ stub CpuNotifyDllLoad
+# @ stub CpuNotifyDllUnload
+# @ stub CpuPrepareForDebuggerAttach
+# @ stub CpuProcessDebugEvent
+# @ stub CpuProcessInit
+# @ stub CpuProcessTerm
+# @ stub CpuResetFloatingPoint
+# @ stub CpuResetToConsistentState
+# @ stub CpuSetContext
+# @ stub CpuSetInstructionPointer
+# @ stub CpuSetStackPointer
+# @ stub CpuSimulate
+# @ stub CpuSuspendLocalThread
+# @ stub CpuSuspendThread
+# @ stub CpuThreadInit
+# @ stub CpuThreadTerm
+# @ stub TurboDispatchJumpAddressEnd
+# @ stub TurboDispatchJumpAddressStart
diff --git a/dlls/wow64cpu/wow64cpu_main.c b/dlls/wow64cpu/wow64cpu_main.c
new file mode 100644
index 0000000..9bf8012
--- /dev/null
+++ b/dlls/wow64cpu/wow64cpu_main.c
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2018 Zebediah Figura
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "config.h"
+#include <stdarg.h>
+#include "windef.h"
+#include "winternl.h"
+
+BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, void *reserved )
+{
+ if (reason == DLL_PROCESS_ATTACH) LdrDisableThreadCalloutsForDll( inst );
+ return TRUE;
+}
--
2.7.4