Răsfoiți Sursa

bfin: use vfork.S again

Actually revert 711ad9f92c1cf992c4a3d9f4f709bd692be7789c, as
it breaks vfork() on real hardware. So the common
implementation no longer works for bfin.
Waldemar Brodkorb 10 ani în urmă
părinte
comite
037a5ae08a
2 a modificat fișierele cu 19 adăugiri și 1 ștergeri
  1. 1 1
      libc/sysdeps/linux/bfin/Makefile.arch
  2. 18 0
      libc/sysdeps/linux/bfin/vfork.S

+ 1 - 1
libc/sysdeps/linux/bfin/Makefile.arch

@@ -8,7 +8,7 @@
 CSRC-y := bsdsetjmp.c clone.c \
 	sram-alloc.c sram-free.c dma-memcpy.c
 
-SSRC-y := __longjmp.S setjmp.S bsd-_setjmp.S
+SSRC-y := __longjmp.S setjmp.S bsd-_setjmp.S vfork.S
 
 CSRC-$(UCLIBC_LINUX_SPECIFIC) += cacheflush.c
 

+ 18 - 0
libc/sysdeps/linux/bfin/vfork.S

@@ -0,0 +1,18 @@
+/*
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <sys/syscall.h>
+
+.text
+.global ___vfork
+.hidden ___vfork
+.type  ___vfork,STT_FUNC;
+.align 4
+___vfork:
+       p0 = __NR_vfork;
+       excpt 0;
+       rts;
+.size ___vfork,.-___vfork
+weak_alias(__vfork,vfork)
+libc_hidden_weak(vfork)