X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fi386%2Fsyscall_cp.s;h=3bf52c1fe67f1a5e332f87eccdf38456b03c8c39;hb=22781b4d8ecaf97ac52d2a501a2e7d3bc1920ce0;hp=6d8c354ba1880758ea04e88f7910024d0d3d966d;hpb=e74664016b025ea9718da59e680555961444ee4d;p=musl diff --git a/src/thread/i386/syscall_cp.s b/src/thread/i386/syscall_cp.s index 6d8c354b..3bf52c1f 100644 --- a/src/thread/i386/syscall_cp.s +++ b/src/thread/i386/syscall_cp.s @@ -1,36 +1,29 @@ .text .global __syscall_cp_asm -.type __syscall_cp_asm,%function +.type __syscall_cp_asm,@function __syscall_cp_asm: + mov 4(%esp),%ecx pushl %ebx pushl %esi pushl %edi pushl %ebp - leal 20(%esp),%ebp - call 1f -1: popl %eax - movl (%ebp),%ecx - addl $[1f-1b],%eax - movl %eax,4(%ecx) - movl %esp,(%ecx) - movl 8(%ecx),%eax +.global __cp_begin +__cp_begin: + movl (%ecx),%eax testl %eax,%eax - jnz 2f - movl 4(%ebp),%eax - movl 8(%ebp),%ebx - movl 12(%ebp),%ecx - movl 16(%ebp),%edx - movl 20(%ebp),%esi - movl 24(%ebp),%edi - movl 28(%ebp),%ebp -1: int $128 + jnz __cancel + movl 24(%esp),%eax + movl 28(%esp),%ebx + movl 32(%esp),%ecx + movl 36(%esp),%edx + movl 40(%esp),%esi + movl 44(%esp),%edi + movl 48(%esp),%ebp + int $128 +.global __cp_end +__cp_end: popl %ebp popl %edi popl %esi popl %ebx ret -2: xorl %eax,%eax - movl %eax,4(%ecx) - movl %eax,(%ecx) - pushl $-1 - call __cancel