Rebase against aba27fd5a3241635adb15fa7ef40aa43bf3978a1.

This commit is contained in:
Zebediah Figura
2020-06-04 00:08:14 -05:00
parent 0db92c336f
commit 7b78338b07
13 changed files with 185 additions and 187 deletions

View File

@@ -1,4 +1,4 @@
From b18e90a92f2e44b5167016c90ea1d49f4d7e3211 Mon Sep 17 00:00:00 2001
From 20298be5a42af52be27c56f88ad6a8a0304b55b6 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Mon, 30 Dec 2019 13:27:53 +0300
Subject: [PATCH] ntdll: Support x86_64 syscall emulation.
@@ -15,10 +15,10 @@ is used for trapping syscalls.
3 files changed, 119 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7b7433efde4..e62daf9e384 100644
index e3d63ed7501..2fbec4129df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -474,6 +474,7 @@ AC_CHECK_HEADERS(\
@@ -464,6 +464,7 @@ AC_CHECK_HEADERS(\
linux/joystick.h \
linux/major.h \
linux/param.h \
@@ -27,7 +27,7 @@ index 7b7433efde4..e62daf9e384 100644
linux/types.h \
linux/ucdrom.h \
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 66a17b9bbc9..2424109553c 100644
index 0ccc7cbceb6..149ad1bf5e7 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -24,6 +24,7 @@
@@ -52,16 +52,16 @@ index 66a17b9bbc9..2424109553c 100644
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#include "ntstatus.h"
@@ -77,6 +85,8 @@
@@ -76,6 +84,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(relay);
+extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
+
typedef struct _SCOPE_TABLE
{
ULONG Count;
@@ -3113,6 +3123,104 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *ucontext )
@@ -2797,6 +2807,104 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *ucontext )
restore_context( &context, ucontext );
}
@@ -166,7 +166,7 @@ index 66a17b9bbc9..2424109553c 100644
/***********************************************************************
* __wine_set_signal_handler (NTDLL.@)
@@ -3158,6 +3266,9 @@ void signal_init_process(void)
@@ -2842,6 +2950,9 @@ void signal_init_process(void)
sig_act.sa_sigaction = trap_handler;
if (sigaction( SIGTRAP, &sig_act, NULL ) == -1) goto error;
#endif