]> git.saurik.com Git - apple/xnu.git/blobdiff - libsyscall/custom/__vfork.s
xnu-2422.1.72.tar.gz
[apple/xnu.git] / libsyscall / custom / __vfork.s
index 91408f9c3a0280da710d1959e1333560f4409a01..8f5cd224dcf775890b2a4d5ccf030844ae1f290c 100644 (file)
@@ -72,7 +72,7 @@ LEAF(___vfork, 0)
        lock
        incl            __current_pid
        pushl           %ecx
-       BRANCH_EXTERN(cerror)
+       BRANCH_EXTERN(tramp_cerror)
 
 L1:
        testl           %edx, %edx              // CF=OF=0,  ZF set if zero result
@@ -108,13 +108,13 @@ LEAF(___vfork, 0)
        popq            %rdi                    // return address in %rdi
        movq            $ SYSCALL_CONSTRUCT_UNIX(SYS_vfork), %rax       // code for vfork -> rax
        UNIX_SYSCALL_TRAP                       // do the system call
-       jnb             L1                                      // jump if CF==0
+       jnb             L1                      // jump if CF==0
        pushq           %rdi                    // put return address back on stack for cerror
        movq            __current_pid@GOTPCREL(%rip), %rcx
        lock
        addq            $1, (%rcx)
-       movq            (%rcx), %rdi
-       BRANCH_EXTERN(cerror)
+       movq            %rax, %rdi
+       BRANCH_EXTERN(_cerror)
 
 L1:
        testl           %edx, %edx              // CF=OF=0,  ZF set if zero result