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 0807b09cfa7f2446f7a69f99ff1006e88c9de60b.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From bdb8554de8eba7d4a6e948122c1f98aad35e5d53 Mon Sep 17 00:00:00 2001
|
||||
From 43e0d719795b5715afd3a058232a519ed67045b3 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
|
||||
@@ -7,18 +7,18 @@ Subject: [PATCH] ntdll: Setup a temporary signal handler during process
|
||||
---
|
||||
dlls/ntdll/unix/loader.c | 2 ++
|
||||
dlls/ntdll/unix/signal_arm.c | 6 ++++
|
||||
dlls/ntdll/unix/signal_arm64.c | 7 +++++
|
||||
dlls/ntdll/unix/signal_arm64.c | 6 ++++
|
||||
dlls/ntdll/unix/signal_i386.c | 52 +++++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/unix/signal_x86_64.c | 6 ++++
|
||||
dlls/ntdll/unix/unix_private.h | 1 +
|
||||
dlls/ntdll/unix/virtual.c | 2 +-
|
||||
7 files changed, 75 insertions(+), 1 deletion(-)
|
||||
7 files changed, 74 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index b7e1432535d..90fd2cb7a16 100644
|
||||
index 1830c4fb392..de1629c3f23 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -2075,6 +2075,8 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
@@ -2210,6 +2210,8 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
#endif
|
||||
|
||||
virtual_init();
|
||||
@@ -28,11 +28,11 @@ index b7e1432535d..90fd2cb7a16 100644
|
||||
|
||||
#ifdef __APPLE__
|
||||
diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c
|
||||
index 5c96521e55e..bdefeb57ebf 100644
|
||||
index 3397e876722..27098259bba 100644
|
||||
--- a/dlls/ntdll/unix/signal_arm.c
|
||||
+++ b/dlls/ntdll/unix/signal_arm.c
|
||||
@@ -982,6 +982,12 @@ void *signal_init_syscalls(void)
|
||||
return __wine_syscall_dispatcher;
|
||||
@@ -848,6 +848,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
+/**********************************************************************
|
||||
@@ -45,28 +45,27 @@ index 5c96521e55e..bdefeb57ebf 100644
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
|
||||
index 80cc59d0743..b8ebca0d9c4 100644
|
||||
index 5552704987f..84eafe64209 100644
|
||||
--- a/dlls/ntdll/unix/signal_arm64.c
|
||||
+++ b/dlls/ntdll/unix/signal_arm64.c
|
||||
@@ -1140,6 +1140,13 @@ void *signal_init_syscalls(void)
|
||||
@@ -1032,6 +1032,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
+/**********************************************************************
|
||||
+ * signal_init_early
|
||||
+ */
|
||||
+void signal_init_early(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
*/
|
||||
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
|
||||
index cc1e1d24e2a..807ebb38169 100644
|
||||
index c3f8c01d350..f94c8c993f3 100644
|
||||
--- a/dlls/ntdll/unix/signal_i386.c
|
||||
+++ b/dlls/ntdll/unix/signal_i386.c
|
||||
@@ -1984,6 +1984,30 @@ static BOOL handle_syscall_fault( ucontext_t *sigcontext, void *stack_ptr,
|
||||
@@ -1833,6 +1833,30 @@ static BOOL handle_syscall_fault( ucontext_t *sigcontext, void *stack_ptr,
|
||||
}
|
||||
|
||||
|
||||
@@ -97,8 +96,8 @@ index cc1e1d24e2a..807ebb38169 100644
|
||||
/**********************************************************************
|
||||
* segv_handler
|
||||
*
|
||||
@@ -2560,6 +2584,34 @@ void *signal_init_syscalls(void)
|
||||
return NtCurrentTeb()->WOW32Reserved = syscall_dispatcher;
|
||||
@@ -2410,6 +2434,34 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
+/**********************************************************************
|
||||
@@ -133,11 +132,11 @@ index cc1e1d24e2a..807ebb38169 100644
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
|
||||
index e62e958b4aa..b10c0e58b17 100644
|
||||
index 59c030ae6a4..7e31597c295 100644
|
||||
--- a/dlls/ntdll/unix/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/unix/signal_x86_64.c
|
||||
@@ -2849,6 +2849,12 @@ void *signal_init_syscalls(void)
|
||||
return syscall_dispatcher;
|
||||
@@ -2692,6 +2692,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
+/**********************************************************************
|
||||
@@ -150,22 +149,22 @@ index e62e958b4aa..b10c0e58b17 100644
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 031f9ed3d33..79a27192e18 100644
|
||||
index 39ab7912490..2dd7a10ed36 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -207,6 +207,7 @@ extern NTSTATUS signal_alloc_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
@@ -243,6 +243,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 23585a2a17b..5299a6c8859 100644
|
||||
index 9796451f58f..0d796075b4c 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -2932,7 +2932,7 @@ NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack )
|
||||
@@ -3197,7 +3197,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 +174,5 @@ index 23585a2a17b..5299a6c8859 100644
|
||||
if (page < (char *)NtCurrentTeb()->DeallocationStack ||
|
||||
page >= (char *)NtCurrentTeb()->Tib.StackBase)
|
||||
--
|
||||
2.20.1
|
||||
2.30.2
|
||||
|
||||
|
Reference in New Issue
Block a user