summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rwxr-xr-xwinsup/cygwin/gendef5
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