remove __vfork alias
authorRich Felker <dalias@aerifal.cx>
Tue, 11 Sep 2018 19:26:51 +0000 (15:26 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 12 Sep 2018 18:34:37 +0000 (14:34 -0400)
this was added so that posix_spawn and possibly other functionality
could be implemented in terms of vfork, but that turned out to be
unsafe. any such usage needs __clone with proper handling of stack
lifetime.

src/process/arm/vfork.s
src/process/i386/vfork.s
src/process/s390x/vfork.s
src/process/sh/vfork.s
src/process/vfork.c
src/process/x32/vfork.s
src/process/x86_64/vfork.s

index ed1f87a6327ec5aceac51262094cc0f4735828bf..d7ec41b33f4d13cfef9dd99566853c84cff1e7ca 100644 (file)
@@ -1,9 +1,6 @@
 .syntax unified
-.global __vfork
-.weak vfork
-.type __vfork,%function
+.global vfork
 .type vfork,%function
-__vfork:
 vfork:
        mov ip, r7
        mov r7, 190
index a3d76ae62a771c39f5cf6b186aa215ce0a144d1c..3d0e6d6bde6487d5e398aaf0e062f42e1d8a88f4 100644 (file)
@@ -1,8 +1,5 @@
-.global __vfork
-.weak vfork
-.type __vfork,@function
+.global vfork
 .type vfork,@function
-__vfork:
 vfork:
        pop %edx
        mov $190,%eax
index 2fb4022ad4cb109f7429d1cffe8c51c8f7d1edfd..744f9d78d07c4ef437afa618b0b6654e29dbf168 100644 (file)
@@ -1,8 +1,5 @@
-       .global __vfork
-       .weak vfork
-       .type __vfork,%function
+       .global vfork
        .type vfork,%function
-__vfork:
 vfork:
        svc 190
        .hidden __syscall_ret
index 48cc9396fab26767afc4ff3516ab94965b616ade..91dbde7b93920bacc93f09e9c9cd95874dc86ea2 100644 (file)
@@ -1,8 +1,5 @@
-.global __vfork
-.weak vfork
-.type __vfork,@function
+.global vfork
 .type vfork,@function
-__vfork:
 vfork:
        mov #95, r3
        add r3, r3
index ac954651b70167cf62fcc498fb34672a0680e384..d430c13fca36b38ba8a16ed3d833c09ff70ef91f 100644 (file)
@@ -2,9 +2,8 @@
 #include <unistd.h>
 #include <signal.h>
 #include "syscall.h"
-#include "libc.h"
 
-pid_t __vfork(void)
+pid_t vfork(void)
 {
        /* vfork syscall cannot be made from C code */
 #ifdef SYS_fork
@@ -13,5 +12,3 @@ pid_t __vfork(void)
        return syscall(SYS_clone, SIGCHLD, 0);
 #endif
 }
-
-weak_alias(__vfork, vfork);
index 8df0058237bc09ad669a74cf0dcf426e8b244d03..0f0ca3ee4863288b790a8cdf49bbbb4066fea507 100644 (file)
@@ -1,8 +1,5 @@
-.global __vfork
-.weak vfork
-.type __vfork,@function
+.global vfork
 .type vfork,@function
-__vfork:
 vfork:
        pop %rdx
        mov $0x4000003a,%eax /* SYS_vfork */
index 2cad80520c326bb3402424f374373c2c5a70730b..9114439031bebc9af6505ad4cefb385ac83002dc 100644 (file)
@@ -1,8 +1,5 @@
-.global __vfork
-.weak vfork
-.type __vfork,@function
+.global vfork
 .type vfork,@function
-__vfork:
 vfork:
        pop %rdx
        mov $58,%eax