diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-11-30 18:31:53 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-11-30 19:16:34 +0100 |
commit | 037a5ae08a3e4dca516bc112fbfa1d1f05d1e67b (patch) | |
tree | 51f7a68692c60abf2f246544e136981e0ed095eb | |
parent | a8cbdc3aaaca564e52ee77a9c5eff050ccd7d8a4 (diff) |
bfin: use vfork.S again
Actually revert 711ad9f92c1cf992c4a3d9f4f709bd692be7789c, as
it breaks vfork() on real hardware. So the common
implementation no longer works for bfin.
-rw-r--r-- | libc/sysdeps/linux/bfin/Makefile.arch | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/bfin/vfork.S | 18 |
2 files changed, 19 insertions, 1 deletions
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 <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) |