summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-10-24 15:04:10 +0000
committerCorinna Vinschen <corinna@vinschen.de>2014-10-24 15:04:10 +0000
commitde7358ca6b08fcd953f55e785e7dea645434849f (patch)
tree6f6385febf21ef6cb8b1215631cdfbc65086ec84
parentd3779269ca12e2c84a72e6ad9b2d00077f7f3ac5 (diff)
downloadcygnal-de7358ca6b08fcd953f55e785e7dea645434849f.tar.gz
cygnal-de7358ca6b08fcd953f55e785e7dea645434849f.tar.bz2
cygnal-de7358ca6b08fcd953f55e785e7dea645434849f.zip
* gendef (sigdelayed): 64 bit only: Fix seh_pushreg statements in
prologue.
-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