فهرست منبع

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 سال پیش
والد
کامیت
037a5ae08a
2فایلهای تغییر یافته به همراه19 افزوده شده و 1 حذف شده
  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)