Ver Fonte

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 há 10 anos atrás
pai
commit
037a5ae08a
2 ficheiros alterados com 19 adições e 1 exclusões
  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)