1/* Copyright (C) 2005-2021 Free Software Foundation, Inc. 2 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public License as 7 published by the Free Software Foundation; either version 2.1 of the 8 License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19#include <sysdep.h> 20#define _ERRNO_H 1 21#include <bits/errno.h> 22#include <tcb-offsets.h> 23 24/* Clone the calling process, but without copying the whole address space. 25 The calling process is suspended until the new process exits or is 26 replaced by a call to `execve'. Return -1 for errors, 0 to the new process, 27 and the process ID of the new process to the old process. */ 28 29ENTRY (__vfork) 30 31 DO_CALL (vfork, 0) 32 addik r12,r0,-4095 33 cmpu r12,r12,r3 34 bgei r12,SYSCALL_ERROR_LABEL 35 rtsd r15,8 36 nop 37 38PSEUDO_END (__vfork) 39libc_hidden_def (__vfork) 40 41weak_alias (__vfork, vfork) 42strong_alias (__vfork, __libc_vfork) 43