diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-03-28 16:56:03 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-03-28 16:56:03 +0000 |
commit | c16097ed26d35e987a1f7a0ff3851d35363bd337 (patch) | |
tree | 5bd492f95f27fbd2a5256c43d6fa90648a382ac8 | |
parent | 50b0a28824744cad81569fa5e4e5e63a07cca760 (diff) | |
download | cygnal-c16097ed26d35e987a1f7a0ff3851d35363bd337.tar.gz cygnal-c16097ed26d35e987a1f7a0ff3851d35363bd337.tar.bz2 cygnal-c16097ed26d35e987a1f7a0ff3851d35363bd337.zip |
* exceptions.cc (_cygtls::signal_debugger): Move memcpy to copy context
from incoming siginfo_t to thread_context, too.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/exceptions.cc | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 188542a65..ec59df527 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2014-03-28 Corinna Vinschen <corinna@vinschen.de> + + * exceptions.cc (_cygtls::signal_debugger): Move memcpy to copy context + from incoming siginfo_t to thread_context, too. + 2014-03-27 Corinna Vinschen <corinna@vinschen.de> * gendef (_sigbe/x86_64): Fix typo in .seh_proc pseudo-op. diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index fac65bf01..d335a0807 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1487,9 +1487,7 @@ _cygtls::signal_debugger (siginfo_t& si) { SuspendThread (th); c.ContextFlags = CONTEXT_FULL; - if (GetThreadContext (th, &c)) - pc = &c; - else + if (!GetThreadContext (th, &c)) goto out; if (incyg) #ifdef __x86_64__ @@ -1497,9 +1495,10 @@ _cygtls::signal_debugger (siginfo_t& si) #else c.Eip = retaddr (); #endif - memcpy (&thread_context, pc, (&thread_context._internal - - (unsigned char *) &thread_context)); + pc = &c; } + memcpy (&thread_context, pc, (&thread_context._internal - + (unsigned char *) &thread_context)); #ifdef __x86_64__ char sigmsg[2 * sizeof (_CYGWIN_SIGNAL_STRING " ffffffff ffffffffffffffff")]; #else |