summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/cris
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/cris')
-rw-r--r--libc/sysdeps/linux/cris/fork.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/cris/fork.c b/libc/sysdeps/linux/cris/fork.c
index 19aa17271..7aff48974 100644
--- a/libc/sysdeps/linux/cris/fork.c
+++ b/libc/sysdeps/linux/cris/fork.c
@@ -6,13 +6,17 @@
#include "sysdep.h"
-#define __NR___libc_fork __NR_fork
-SYSCALL__ (__libc_fork, 0)
+#if defined __NR_fork && defined __ARCH_USE_MMU__
+# include <cancel.h>
+
+SYSCALL__ (fork, 0)
/* R1 is now 0 for the parent and 1 for the child. Decrement it to
make it -1 (all bits set) for the parent, and 0 (no bits set)
for the child. Then AND it with R0, so the parent gets
R0&-1==R0, and the child gets R0&0==0. */
/* i dunno what the blurb above is useful for. we just return. */
__asm__("ret\n\tnop");
-weak_alias(__libc_fork,fork)
-libc_hidden_weak(fork)
+
+lt_strong_alias(fork)
+lt_libc_hidden(fork)
+#endif