OSDN Git Service

Fixup fork implementation to provide the __libc_fork symbol
authorEric Andersen <andersen@codepoet.org>
Sun, 15 Feb 2004 09:02:54 +0000 (09:02 -0000)
committerEric Andersen <andersen@codepoet.org>
Sun, 15 Feb 2004 09:02:54 +0000 (09:02 -0000)
libc/sysdeps/linux/cris/fork.c
libc/sysdeps/linux/sparc/fork.S

index 5ca8a72..0399edc 100644 (file)
@@ -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);
 
index c66856b..982cdbe 100644 (file)
 
 #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;