diff options
Diffstat (limited to 'libc/sysdeps/linux/x86_64/vfork.S')
| -rw-r--r-- | libc/sysdeps/linux/x86_64/vfork.S | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/libc/sysdeps/linux/x86_64/vfork.S b/libc/sysdeps/linux/x86_64/vfork.S index 5786058d2..b22b7b422 100644 --- a/libc/sysdeps/linux/x86_64/vfork.S +++ b/libc/sysdeps/linux/x86_64/vfork.S @@ -16,7 +16,6 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#include <features.h> #include <sys/syscall.h> /* Clone the calling process, but without copying the whole address space. @@ -26,10 +25,8 @@ #ifndef __NR_vfork /* No vfork so use fork instead */ -hidden_strong_alias(__fork,__vfork) -weak_alias(vfork,__libc_fork) - -#else +# define __NR_vfork __NR_fork +#endif .text .global __vfork @@ -51,15 +48,12 @@ __vfork: pushq %rdi cmpl $-4095, %eax - jae __error /* Branch forward if it failed. */ + jae __syscall_error /* Branch forward if it failed. */ /* Normal return. */ ret -__error: - jmp __syscall_error - .size __vfork,.-__vfork -#endif /* __NR_vfork */ -strong_alias(__vfork,vfork) +weak_alias(__vfork,vfork) +libc_hidden_weak(vfork) |
