summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/powerpc
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2005-12-15 19:49:58 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2005-12-15 19:49:58 +0000
commitf7c7c0e055425e0122996a91704cc12bfaeef308 (patch)
tree2c9723a6e45208c737d39c88b23b6103ab4292f6 /libc/sysdeps/linux/powerpc
parent1ab4af32dbead92763566cc0cce9b0ff2d63598d (diff)
Hide fork and vfork, use the newly introduced *alias
Diffstat (limited to 'libc/sysdeps/linux/powerpc')
-rw-r--r--libc/sysdeps/linux/powerpc/vfork.S9
-rw-r--r--libc/sysdeps/linux/powerpc/vfork.c4
2 files changed, 8 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/powerpc/vfork.S b/libc/sysdeps/linux/powerpc/vfork.S
index 67d8aaeac..7cf5eaa16 100644
--- a/libc/sysdeps/linux/powerpc/vfork.S
+++ b/libc/sysdeps/linux/powerpc/vfork.S
@@ -1,14 +1,17 @@
+#include <features.h>
#include <sys/syscall.h>
#ifndef __NR_vfork
/* No vfork so use fork instead */
-.weak vfork ; vfork = __libc_fork
+hidden_strong_alias(__fork,__vfork)
+weak_alias(vfork,__libc_fork)
#else
.text
.global __vfork
+.hidden __vfork
.type __vfork,@function
.type __syscall_error,@function
@@ -17,7 +20,7 @@ __vfork:
sc
bnslr+
b __syscall_error
-.size __vfork,.-__vfork
-.weak vfork ; vfork = __vfork
+.size __vfork,.-__vfork
#endif
+strong_alias(__vfork,vfork)
diff --git a/libc/sysdeps/linux/powerpc/vfork.c b/libc/sysdeps/linux/powerpc/vfork.c
index 6623d8dde..39f992513 100644
--- a/libc/sysdeps/linux/powerpc/vfork.c
+++ b/libc/sysdeps/linux/powerpc/vfork.c
@@ -9,7 +9,7 @@
return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0), \
(type) __sc_ret
-pid_t vfork(void)
+pid_t attribute_hidden __vfork(void)
{
unsigned long __sc_ret, __sc_err;
register unsigned long __sc_0 __asm__ ("r0");
@@ -46,4 +46,4 @@ pid_t vfork(void)
__syscall_return (pid_t);
}
-
+strong_alias(__vfork,vfork)