aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/setjmp.S')
-rw-r--r--sysdeps/i386/setjmp.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/i386/setjmp.S b/sysdeps/i386/setjmp.S
index 25b7ac8..673b7ab 100644
--- a/sysdeps/i386/setjmp.S
+++ b/sysdeps/i386/setjmp.S
@@ -44,13 +44,13 @@ ENTRY (BP_SYM (__sigsetjmp))
movl %ebx, (JB_BX*4)(%eax)
movl %esi, (JB_SI*4)(%eax)
movl %edi, (JB_DI*4)(%eax)
- movl %ebp, (JB_BP*4)(%eax)
leal JMPBUF(%esp), %ecx /* Save SP as it will be after we return. */
movl %ecx, (JB_SP*4)(%eax)
movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */
movl %ecx, (JB_PC*4)(%eax)
-
LEAVE /* pop frame pointer to prepare for tail-call. */
+ movl %ebp, (JB_BP*4)(%eax) /* Save caller's frame pointer. */
+
/* Make a tail call to __sigjmp_save; it takes the same args. */
#ifdef PIC
/* We cannot use the PLT, because it requires that %ebx be set, but