diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-07-20 23:41:10 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-10-31 18:00:08 +0100 |
commit | 7825930078208462655e107677656c45014e91b4 (patch) | |
tree | 0911271efdb803f51d366647d1b0893ec3995d87 /libc/sysdeps/linux/microblaze/clone.c | |
parent | a7f8986f6e81b912b35b46dcad4b8258f75c8b29 (diff) |
microblaze: use assembly version of clone, fix vfork
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Diffstat (limited to 'libc/sysdeps/linux/microblaze/clone.c')
-rw-r--r-- | libc/sysdeps/linux/microblaze/clone.c | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/libc/sysdeps/linux/microblaze/clone.c b/libc/sysdeps/linux/microblaze/clone.c deleted file mode 100644 index d92100865..000000000 --- a/libc/sysdeps/linux/microblaze/clone.c +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2004 Atmel Corporation - * - * This file is subject to the terms and conditions of the GNU Lesser General - * Public License. See the file "COPYING.LIB" in the main directory of this - * archive for more details. - */ -#include <sched.h> -#include <errno.h> -#include <sys/syscall.h> -#include <unistd.h> - -int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg, ...) -{ - int rval = -EINVAL; - if (fn && child_stack) - rval = INTERNAL_SYSCALL(clone, 0, 2, flags, child_stack); - - if (rval == 0) - { - int exitCode = fn(arg); - rval = INTERNAL_SYSCALL(exit, 0, 1, exitCode); - } - - return rval; -} - -#ifdef __NR_clone2 -int -__clone2(int (*fn)(void *arg), void *child_stack, size_t stack_size, - int flags, void *arg, ...) -{ - int rval = -EINVAL; - if (fn && child_stack) - { - rval = INTERNAL_SYSCALL(clone2, 0, 3, flags, child_stack, stack_size); - } - - if (rval == 0) - { - int exitCode = fn(arg); - rval = INTERNAL_SYSCALL(exit, 0, 1, exitCode); - } - - return rval; -} -#endif |