diff options
Diffstat (limited to 'libc/sysdeps/linux/cris')
-rw-r--r-- | libc/sysdeps/linux/cris/fork.c | 12 |
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 |