diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rwxr-xr-x | winsup/cygwin/gendef | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 24930c1b0..879cc109f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2014-10-24 Corinna Vinschen <corinna@vinschen.de> + + * gendef (sigdelayed): 64 bit only: Fix seh_pushreg statements in + prologue. + 2014-10-24 Kai Tietz <corinna@vinschen.de> Corinna Vinschen <corinna@vinschen.de> diff --git a/winsup/cygwin/gendef b/winsup/cygwin/gendef index 6dcb94eae..a1c549fc5 100755 --- a/winsup/cygwin/gendef +++ b/winsup/cygwin/gendef @@ -187,14 +187,13 @@ _sigbe: # return here after cygwin syscall .global sigdelayed .seh_proc sigdelayed sigdelayed: - .seh_pushreg %rbp pushq %r10 # used for return address injection - .seh_pushreg %rbp + .seh_pushreg %r10 pushq %rbp .seh_pushreg %rbp movq %rsp,%rbp - .seh_pushreg %rax # fake, there's no .seh_pushreg for the flags pushf + .seh_pushreg %rax # fake, there's no .seh_pushreg for the flags # stack is aligned or unaligned on entry! # make sure it is aligned from here on # We could be called from an interrupted thread which doesn't know |