about summary refs log tree commit diff
path: root/src/thread/i386
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
parent6bea5dc69892cd9ff0c222474e7dd468c29dfa75 (diff)
downloadmusl-f409338a9e808a09001669377c608fd2803d808d.tar.gz
musl-f409338a9e808a09001669377c608fd2803d808d.tar.xz
musl-f409338a9e808a09001669377c608fd2803d808d.zip
prepare cancellation syscall asm for possibility of __cancel returning
Diffstat (limited to 'src/thread/i386')
-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