mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 9285aa5bb1338d8e2c1ac6b95974182b3f4881a9.
This commit is contained in:
parent
d7080ec990
commit
e930be3974
@ -1,4 +1,4 @@
|
||||
From d87b3ff060a52b851aec1f66ff4b04fceebfc8ab Mon Sep 17 00:00:00 2001
|
||||
From 4935d5a693f839352e94094c2bbfeb361baff009 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, 74 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 4d95c29ab24..4406c1eb634 100644
|
||||
index 3cde6b726a2..f4a20d052c8 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -2532,6 +2532,8 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
@@ -2398,6 +2398,8 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
#endif
|
||||
|
||||
virtual_init();
|
||||
@ -28,10 +28,10 @@ index 4d95c29ab24..4406c1eb634 100644
|
||||
|
||||
#ifdef __APPLE__
|
||||
diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c
|
||||
index fe51629838c..a39f158530a 100644
|
||||
index 28cb2222809..b3b55a11e4f 100644
|
||||
--- a/dlls/ntdll/unix/signal_arm.c
|
||||
+++ b/dlls/ntdll/unix/signal_arm.c
|
||||
@@ -1584,6 +1584,12 @@ void signal_init_process(void)
|
||||
@@ -1566,6 +1566,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@ -45,10 +45,10 @@ index fe51629838c..a39f158530a 100644
|
||||
/***********************************************************************
|
||||
* call_init_thunk
|
||||
diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
|
||||
index 794aa7b2925..bf8e69f1661 100644
|
||||
index f553aac1993..192baf23251 100644
|
||||
--- a/dlls/ntdll/unix/signal_arm64.c
|
||||
+++ b/dlls/ntdll/unix/signal_arm64.c
|
||||
@@ -1381,6 +1381,12 @@ void signal_init_process(void)
|
||||
@@ -1576,6 +1576,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@ index 794aa7b2925..bf8e69f1661 100644
|
||||
/***********************************************************************
|
||||
* call_init_thunk
|
||||
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
|
||||
index cc8605c2a4f..bfd0c3eb7ef 100644
|
||||
index 11bdd9c1ea6..f688795ab91 100644
|
||||
--- a/dlls/ntdll/unix/signal_i386.c
|
||||
+++ b/dlls/ntdll/unix/signal_i386.c
|
||||
@@ -1839,6 +1839,30 @@ static BOOL handle_syscall_trap( ucontext_t *sigcontext )
|
||||
@ -96,7 +96,7 @@ index cc8605c2a4f..bfd0c3eb7ef 100644
|
||||
/**********************************************************************
|
||||
* segv_handler
|
||||
*
|
||||
@@ -2410,6 +2434,34 @@ void signal_init_process(void)
|
||||
@@ -2408,6 +2432,34 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@ -132,10 +132,10 @@ index cc8605c2a4f..bfd0c3eb7ef 100644
|
||||
/***********************************************************************
|
||||
* call_init_thunk
|
||||
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
|
||||
index cc070dda5ae..3b0f671afe2 100644
|
||||
index 8302976706c..a1d118b61da 100644
|
||||
--- a/dlls/ntdll/unix/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/unix/signal_x86_64.c
|
||||
@@ -2462,6 +2462,12 @@ void signal_init_process(void)
|
||||
@@ -2640,6 +2640,12 @@ void signal_init_process(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@ -149,10 +149,10 @@ index cc070dda5ae..3b0f671afe2 100644
|
||||
/***********************************************************************
|
||||
* call_init_thunk
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index fa7b97117ff..12a484d079a 100644
|
||||
index 16bf5cc2c78..c03d8675244 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -241,6 +241,7 @@ extern void signal_init_threading(void) DECLSPEC_HIDDEN;
|
||||
@@ -268,6 +268,7 @@ extern void signal_init_threading(void) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS signal_alloc_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_free_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_init_process(void) DECLSPEC_HIDDEN;
|
||||
@ -161,18 +161,18 @@ index fa7b97117ff..12a484d079a 100644
|
||||
BOOL suspend, TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void DECLSPEC_NORETURN signal_exit_thread( int status, void (*func)(int), TEB *teb ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
|
||||
index 45089ae5845..0a9c4f2feb0 100644
|
||||
index a06f675af7c..a7705e78fb4 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -3279,7 +3279,7 @@ NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack )
|
||||
@@ -3703,7 +3703,7 @@ NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack )
|
||||
}
|
||||
#endif
|
||||
|
||||
mutex_lock( &virtual_mutex ); /* no need for signal masking inside signal handler */
|
||||
vprot = get_page_vprot( page );
|
||||
- if (!is_inside_signal_stack( stack ) && (vprot & VPROT_GUARD))
|
||||
+ if (stack && !is_inside_signal_stack( stack ) && (vprot & VPROT_GUARD))
|
||||
{
|
||||
struct thread_stack_info stack_info;
|
||||
if (!is_inside_thread_stack( page, &stack_info ))
|
||||
--
|
||||
2.38.1
|
||||
2.40.1
|
||||
|
||||
|
@ -1 +1 @@
|
||||
81859c9af70aa5ed6da3060488d1815a3607c291
|
||||
9285aa5bb1338d8e2c1ac6b95974182b3f4881a9
|
||||
|
Loading…
Reference in New Issue
Block a user