diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-02-15 09:02:54 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-02-15 09:02:54 +0000 |
commit | d3c240368b0b0babdcba9cb43f14e32dad2a6008 (patch) | |
tree | 1dec102921c6e7be9f805203ba57204121641430 /libc/sysdeps | |
parent | 084192da07a63fdde5253262b9c5b101a23a26ee (diff) |
Fixup fork implementation to provide the __libc_fork symbol
Diffstat (limited to 'libc/sysdeps')
-rw-r--r-- | libc/sysdeps/linux/cris/fork.c | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/sparc/fork.S | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/cris/fork.c b/libc/sysdeps/linux/cris/fork.c index 5ca8a723f..0399edce8 100644 --- a/libc/sysdeps/linux/cris/fork.c +++ b/libc/sysdeps/linux/cris/fork.c @@ -1,10 +1,12 @@ #include <sysdep.h> -SYSCALL__ (fork, 0) +#define __NR___libc_fork __NR_fork +SYSCALL__ (__libc_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); diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S index c66856bef..982cdbe8f 100644 --- a/libc/sysdeps/linux/sparc/fork.S +++ b/libc/sysdeps/linux/sparc/fork.S @@ -21,12 +21,12 @@ #include <sys/syscall.h> -.text; +.text; .global fork; .align 4; -.type fork,@function; +.type __libc_fork,@function; -fork: +__libc_fork: mov __NR_fork, %g1 ta 0x10 bcc,a 9000f @@ -43,5 +43,5 @@ fork: retl and %o0, %o1, %o0 -.size fork,.-fork; +.size __libc_fork,.-__libc_fork; |