]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - sysdeps/unix/sysv/linux/aarch64/vfork.S
Prefer https to http for gnu.org and fsf.org URLs
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / aarch64 / vfork.S
index d9f2c707487c817b4a1cff05125ec05c4bad8ef4..6a51c4394d7fc9ca3c13ea01317796df8be8e154 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
 
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
 #define _ERRNO_H       1
 #include <bits/errno.h>
-#include <kernel-features.h>
 
 /* Clone the calling process, but without copying the whole address space.
    The calling process is suspended until the new process exits or is
 
 ENTRY (__vfork)
 
-#ifdef SAVE_PID
-       SAVE_PID
-#endif
        mov     x0, #0x4111     /* CLONE_VM | CLONE_VFORK | SIGCHLD */
        mov     x1, sp
        DO_CALL (clone, 2)
-#ifdef RESTORE_PID
-       RESTORE_PID
-#endif
+
        cmn     x0, #4095
-       b.cs    1f
+       b.cs    .Lsyscall_error
        RET
-1:
-       b       SYSCALL_ERROR
 
 PSEUDO_END (__vfork)
 libc_hidden_def (__vfork)
 
 weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)