summaryrefslogtreecommitdiff
path: root/src/thread/i386/syscall_cp.s
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-02-20 20:25:35 -0500
committerRich Felker <dalias@aerifal.cx>2015-02-20 20:25:35 -0500
commitf409338a9e808a09001669377c608fd2803d808d (patch)
tree2eb5478cc7177d8480ed252cc8004d1b102f5acf /src/thread/i386/syscall_cp.s
parent6bea5dc69892cd9ff0c222474e7dd468c29dfa75 (diff)
downloadmusl-f409338a9e808a09001669377c608fd2803d808d.tar.gz
prepare cancellation syscall asm for possibility of __cancel returning
Diffstat (limited to 'src/thread/i386/syscall_cp.s')
-rw-r--r--src/thread/i386/syscall_cp.s9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/thread/i386/syscall_cp.s b/src/thread/i386/syscall_cp.s
index 3bf52c1f..71ce63f7 100644
--- a/src/thread/i386/syscall_cp.s
+++ b/src/thread/i386/syscall_cp.s
@@ -11,7 +11,7 @@ __syscall_cp_asm:
__cp_begin:
movl (%ecx),%eax
testl %eax,%eax
- jnz __cancel
+ jnz __cp_cancel
movl 24(%esp),%eax
movl 28(%esp),%ebx
movl 32(%esp),%ecx
@@ -27,3 +27,10 @@ __cp_end:
popl %esi
popl %ebx
ret
+.global __cp_cancel
+__cp_cancel:
+ popl %ebp
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp __cancel