You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 4de079bb7247c8b849558c0f27a280a9546c5570.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From a65d5445eea1a5aa1108d5b214a37b37a8c82888 Mon Sep 17 00:00:00 2001
|
||||
From 0cdc9966b9cf95ab1d2c53112ef6ea03479a5708 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:53:22 +0200
|
||||
Subject: [PATCH] ntdll: Setup a temporary signal handler during process
|
||||
@@ -15,10 +15,10 @@ Subject: [PATCH] ntdll: Setup a temporary signal handler during process
|
||||
7 files changed, 75 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 6890a08428b..557d7254190 100644
|
||||
index c4f897f3d0d..7eedb03e7a0 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1775,6 +1775,8 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
@@ -1983,6 +1983,8 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
#endif
|
||||
|
||||
virtual_init();
|
||||
@@ -28,11 +28,11 @@ index 6890a08428b..557d7254190 100644
|
||||
|
||||
#ifdef __APPLE__
|
||||
diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c
|
||||
index e8971d22dbd..ca291456284 100644
|
||||
index 2de58925c84..3816f4429b8 100644
|
||||
--- a/dlls/ntdll/unix/signal_arm.c
|
||||
+++ b/dlls/ntdll/unix/signal_arm.c
|
||||
@@ -977,6 +977,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
@@ -971,6 +971,12 @@ void *signal_init_syscalls(void)
|
||||
return __wine_syscall_dispatcher;
|
||||
}
|
||||
|
||||
+/**********************************************************************
|
||||
@@ -45,13 +45,13 @@ index e8971d22dbd..ca291456284 100644
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
|
||||
index e08d6a2ee17..025fa63316a 100644
|
||||
index 9a36746f5bc..b04eaf92b65 100644
|
||||
--- a/dlls/ntdll/unix/signal_arm64.c
|
||||
+++ b/dlls/ntdll/unix/signal_arm64.c
|
||||
@@ -1070,6 +1070,13 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
@@ -1130,6 +1130,13 @@ void *signal_init_syscalls(void)
|
||||
}
|
||||
|
||||
|
||||
+/**********************************************************************
|
||||
+ * signal_init_early
|
||||
+ */
|
||||
@@ -63,10 +63,10 @@ index e08d6a2ee17..025fa63316a 100644
|
||||
* init_thread_context
|
||||
*/
|
||||
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
|
||||
index e0ba27d3e94..dd9c8e255cc 100644
|
||||
index 09529a1ea96..41ea96ccbff 100644
|
||||
--- a/dlls/ntdll/unix/signal_i386.c
|
||||
+++ b/dlls/ntdll/unix/signal_i386.c
|
||||
@@ -1865,6 +1865,30 @@ static BOOL handle_syscall_fault( ucontext_t *sigcontext, void *stack_ptr,
|
||||
@@ -1907,6 +1907,30 @@ static BOOL handle_syscall_fault( ucontext_t *sigcontext, void *stack_ptr,
|
||||
}
|
||||
|
||||
|
||||
@@ -97,8 +97,8 @@ index e0ba27d3e94..dd9c8e255cc 100644
|
||||
/**********************************************************************
|
||||
* segv_handler
|
||||
*
|
||||
@@ -2424,6 +2448,34 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
@@ -2475,6 +2499,34 @@ void *signal_init_syscalls(void)
|
||||
return __wine_syscall_dispatcher;
|
||||
}
|
||||
|
||||
+/**********************************************************************
|
||||
@@ -133,11 +133,11 @@ index e0ba27d3e94..dd9c8e255cc 100644
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
|
||||
index e11b2c70b59..1b45ca246d3 100644
|
||||
index 8d3353e959d..7c0b446ecba 100644
|
||||
--- a/dlls/ntdll/unix/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/unix/signal_x86_64.c
|
||||
@@ -2680,6 +2680,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
@@ -2783,6 +2783,12 @@ void *signal_init_syscalls(void)
|
||||
return syscall_dispatcher;
|
||||
}
|
||||
|
||||
+/**********************************************************************
|
||||
@@ -150,22 +150,22 @@ index e11b2c70b59..1b45ca246d3 100644
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index f99c13fe2ad..26f251b889a 100644
|
||||
index 65f526d0f7d..ca18cede199 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -210,6 +210,7 @@ extern NTSTATUS signal_alloc_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
@@ -208,6 +208,7 @@ extern NTSTATUS signal_alloc_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_free_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_init_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_init_process(void) DECLSPEC_HIDDEN;
|
||||
+extern void signal_init_early(void) DECLSPEC_HIDDEN;
|
||||
extern void *signal_init_syscalls(void) DECLSPEC_HIDDEN;
|
||||
extern void DECLSPEC_NORETURN signal_start_thread( PRTL_THREAD_START_ROUTINE entry, void *arg,
|
||||
BOOL suspend, void *thunk, TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void DECLSPEC_NORETURN signal_exit_thread( int status, void (*func)(int) ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
|
||||
index f18e75c0842..0649b30e8b3 100644
|
||||
index 9889028de27..6cdf5c3fa5c 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -2917,7 +2917,7 @@ NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack )
|
||||
@@ -2933,7 +2933,7 @@ NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack )
|
||||
|
||||
mutex_lock( &virtual_mutex ); /* no need for signal masking inside signal handler */
|
||||
vprot = get_page_vprot( page );
|
||||
@@ -175,5 +175,5 @@ index f18e75c0842..0649b30e8b3 100644
|
||||
if (page < (char *)NtCurrentTeb()->DeallocationStack ||
|
||||
page >= (char *)NtCurrentTeb()->Tib.StackBase)
|
||||
--
|
||||
2.28.0
|
||||
2.20.1
|
||||
|
||||
|
Reference in New Issue
Block a user