From 037a5ae08a3e4dca516bc112fbfa1d1f05d1e67b Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 30 Nov 2015 18:31:53 +0100 Subject: bfin: use vfork.S again Actually revert 711ad9f92c1cf992c4a3d9f4f709bd692be7789c, as it breaks vfork() on real hardware. So the common implementation no longer works for bfin. --- libc/sysdeps/linux/bfin/Makefile.arch | 2 +- libc/sysdeps/linux/bfin/vfork.S | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 libc/sysdeps/linux/bfin/vfork.S (limited to 'libc/sysdeps') diff --git a/libc/sysdeps/linux/bfin/Makefile.arch b/libc/sysdeps/linux/bfin/Makefile.arch index df76ab08a..8e945cdea 100644 --- a/libc/sysdeps/linux/bfin/Makefile.arch +++ b/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 diff --git a/libc/sysdeps/linux/bfin/vfork.S b/libc/sysdeps/linux/bfin/vfork.S new file mode 100644 index 000000000..d8e65574b --- /dev/null +++ b/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 + +.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) -- cgit v1.2.3