Browse Source

Fixup fork implementation to provide the __libc_fork symbol

Eric Andersen 21 years ago
parent
commit
d3c240368b
2 changed files with 7 additions and 5 deletions
  1. 3 1
      libc/sysdeps/linux/cris/fork.c
  2. 4 4
      libc/sysdeps/linux/sparc/fork.S

+ 3 - 1
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);
 

+ 4 - 4
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;