diff options
author | Christopher Faylor <me@cgf.cx> | 2012-08-15 16:35:00 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-08-15 16:35:00 +0000 |
commit | d57a4725b1dde16e292ed7a9898752b4e2277766 (patch) | |
tree | a3596c31e2702e4fad52bcd27bf8ed02a27a87f0 /winsup/cygwin/gendef | |
parent | 0123506d2df6775cc3251f33f3983cd32103c663 (diff) | |
download | cygnal-d57a4725b1dde16e292ed7a9898752b4e2277766.tar.gz cygnal-d57a4725b1dde16e292ed7a9898752b4e2277766.tar.bz2 cygnal-d57a4725b1dde16e292ed7a9898752b4e2277766.zip |
* exceptions.cc (sigdelayed): Move declaration to sigproc.h.
* sigproc.h (sigdelayed): Make symbol globally available.
* gendef (sigdelayed): Specifically zero incyg and stacklock.
* signal.cc (sigwaitinfo): Lock _my_tls and try harder to clean up signal
information.
Diffstat (limited to 'winsup/cygwin/gendef')
-rwxr-xr-x | winsup/cygwin/gendef | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/gendef b/winsup/cygwin/gendef index 5cc06f76c..ddffe5800 100755 --- a/winsup/cygwin/gendef +++ b/winsup/cygwin/gendef @@ -196,8 +196,9 @@ _sigdelayed: xorl %ebp,%ebp xchgl %ebp,-4(%eax) # get return address from signal stack xchgl %ebp,28(%esp) # store real return address -leave: decl $tls::incyg(%ebx) - decl $tls::stacklock(%ebx) # unlock +leave: xorl %eax,%eax + movl %eax,$tls::incyg(%ebx) + movl %eax,$tls::stacklock(%ebx) # unlock popl %eax popl %ebx |