summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/sparc')
-rw-r--r--libc/sysdeps/linux/sparc/fork.S15
-rw-r--r--libc/sysdeps/linux/sparc/vfork.S15
2 files changed, 15 insertions, 15 deletions
diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S
index c382f4b4e..dfa109dcd 100644
--- a/libc/sysdeps/linux/sparc/fork.S
+++ b/libc/sysdeps/linux/sparc/fork.S
@@ -19,14 +19,16 @@
/* Code taken from glibc2.2.2/sysdeps/unix/sysv/linux/sparc/vfork.S */
+#include <features.h>
#include <sys/syscall.h>
.text
-.global __libc_fork
-.type __libc_fork,%function
+.global __fork
+.hidden __fork
+.type __fork,%function
.align 4
-__libc_fork:
+__fork:
mov __NR_fork, %g1
ta 0x10
bcc,a 9000f
@@ -43,7 +45,6 @@ __libc_fork:
retl
and %o0, %o1, %o0
-.size __libc_fork,.-__libc_fork
-
-.weak fork
- fork = __libc_fork
+.size __fork,.-__fork
+strong_alias(__fork,fork)
+weak_alias(fork,__libc_fork)
diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S
index 854b66182..9b7092c98 100644
--- a/libc/sysdeps/linux/sparc/vfork.S
+++ b/libc/sysdeps/linux/sparc/vfork.S
@@ -23,14 +23,16 @@
#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
-.type vfork,%function
+.global __vfork
+.hidden __vfork
+.type __vfork,%function
.align 4
__vfork:
@@ -51,8 +53,5 @@ __vfork:
and %o0, %o1, %o0
.size __vfork,.-__vfork
-
-.weak vfork
- vfork = __vfork
-
#endif /* __NR_vfork */
+strong_alias(__vfork,vfork)