From 4157875d2d5a38e2fb84f793881f489396672486 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 3 Jul 2002 03:38:10 +0000 Subject: Make clone work, part 2. -Erik --- libc/sysdeps/linux/mips/Makefile | 2 +- libc/sysdeps/linux/mips/__syscall_error.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 libc/sysdeps/linux/mips/__syscall_error.c (limited to 'libc/sysdeps/linux') diff --git a/libc/sysdeps/linux/mips/Makefile b/libc/sysdeps/linux/mips/Makefile index 80694efc9..df6a59868 100644 --- a/libc/sysdeps/linux/mips/Makefile +++ b/libc/sysdeps/linux/mips/Makefile @@ -33,7 +33,7 @@ CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0)) SSRC=bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S #fork.S SOBJS=$(patsubst %.S,%.o, $(SSRC)) -CSRC=__longjmp.c brk.c vfork.c setjmp_aux.c _mmap.c pipe.c +CSRC=__longjmp.c brk.c vfork.c setjmp_aux.c _mmap.c pipe.c __syscall_error.c COBJS=$(patsubst %.c,%.o, $(CSRC)) OBJS=$(SOBJS) $(MOBJ) $(COBJS) diff --git a/libc/sysdeps/linux/mips/__syscall_error.c b/libc/sysdeps/linux/mips/__syscall_error.c new file mode 100644 index 000000000..9ab65ed79 --- /dev/null +++ b/libc/sysdeps/linux/mips/__syscall_error.c @@ -0,0 +1,29 @@ +/* Wrapper around clone system call. + Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include + +/* This routine is jumped to by all the syscall handlers, to stash + * an error number into errno. */ +int __syscall_error (int err_no) +{ + __set_errno (err_no); + return -1; +} + -- cgit v1.2.3