summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/setcontext.S
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-05-04 18:33:36 +0000
committerJakub Jelinek <jakub@redhat.com>2005-05-04 18:33:36 +0000
commitf6cc6cdf0b94eb1608ceeabcab2450c8cd4054a4 (patch)
tree01abe7e7555ee0d87db36c06881902ac01af2333 /sysdeps/unix/sysv/linux/i386/setcontext.S
parente759ccae887cac69cd47b878c67eba5dd1934f56 (diff)
Updated to fedora-glibc-20050504T1818
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/setcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/i386/setcontext.S11
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/setcontext.S b/sysdeps/unix/sysv/linux/i386/setcontext.S
index 22469b2b85..c493cf9798 100644
--- a/sysdeps/unix/sysv/linux/i386/setcontext.S
+++ b/sysdeps/unix/sysv/linux/i386/setcontext.S
@@ -61,6 +61,13 @@ ENTRY(__setcontext)
movl oEIP(%eax), %ecx
/* Load the new stack pointer. */
+ cfi_def_cfa (eax, 0)
+ cfi_offset (edi, oEDI)
+ cfi_offset (esi, oESI)
+ cfi_offset (ebp, oEBP)
+ cfi_offset (ebx, oEBX)
+ cfi_offset (edx, oEDX)
+ cfi_offset (ecx, oECX)
movl oESP(%eax), %esp
/* Push the return address on the new stack so we can return there. */
@@ -76,6 +83,10 @@ ENTRY(__setcontext)
movl oECX(%eax), %ecx
movl oEAX(%eax), %eax
+ /* End FDE here, we fall into another context. */
+ cfi_endproc
+ cfi_startproc
+
/* The following 'ret' will pop the address of the code and jump
to it. */