Parcourir la source

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 il y a 8 ans
Parent
commit
037a5ae08a
2 fichiers modifiés avec 19 ajouts et 1 suppressions
  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)