From de7358ca6b08fcd953f55e785e7dea645434849f Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 24 Oct 2014 15:04:10 +0000 Subject: [PATCH] * gendef (sigdelayed): 64 bit only: Fix seh_pushreg statements in prologue. --- winsup/cygwin/ChangeLog | 5 +++++ 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 + + * gendef (sigdelayed): 64 bit only: Fix seh_pushreg statements in + prologue. + 2014-10-24 Kai Tietz Corinna Vinschen 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