diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64/vfork.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/vfork.S | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/vfork.S b/sysdeps/unix/sysv/linux/x86_64/vfork.S index 193b0bdff6..4bad38892b 100644 --- a/sysdeps/unix/sysv/linux/x86_64/vfork.S +++ b/sysdeps/unix/sysv/linux/x86_64/vfork.S @@ -32,6 +32,10 @@ ENTRY (__vfork) popq %rdi cfi_adjust_cfa_offset(-8) +#ifdef SAVE_PID + SAVE_PID +#endif + /* Stuff the syscall number in RAX and enter into the kernel. */ movl $SYS_ify (vfork), %eax syscall @@ -40,6 +44,10 @@ ENTRY (__vfork) pushq %rdi cfi_adjust_cfa_offset(8) +#ifdef RESTORE_PID + RESTORE_PID +#endif + cmpl $-4095, %eax jae SYSCALL_ERROR_LABEL /* Branch forward if it failed. */ |