summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2001-03-06 15:27:46 +0000
committerManuel Novoa III <mjn3@codepoet.org>2001-03-06 15:27:46 +0000
commitfae403620c5c9329a78f5da5cd81b8f04f45a012 (patch)
treed76df713ba1323064ab83d319a54c7caf9572b9b
parent80831beee1c1db87b63e15efdcbcd0ed4354c62f (diff)
Move fork to common/syscalls (with NO_MMU check). Add Makefile to sparc so
make clean works.
-rw-r--r--libc/sysdeps/linux/Makefile2
-rw-r--r--libc/sysdeps/linux/arm/Makefile2
-rw-r--r--libc/sysdeps/linux/i386/Makefile2
-rw-r--r--libc/sysdeps/linux/i386/__uClibc_syscall.S2
-rw-r--r--libc/sysdeps/linux/sh/Makefile2
-rw-r--r--libc/sysdeps/linux/sh/fork.c35
-rw-r--r--libc/sysdeps/linux/sparc/Makefile63
7 files changed, 67 insertions, 41 deletions
diff --git a/libc/sysdeps/linux/Makefile b/libc/sysdeps/linux/Makefile
index 86b04eb40..cc85504e2 100644
--- a/libc/sysdeps/linux/Makefile
+++ b/libc/sysdeps/linux/Makefile
@@ -32,7 +32,7 @@ libc.a: subdirs
tags:
ctags -R
-
+
clean: subdirs_clean
subdirs: $(patsubst %, _dir_%, $(DIRS))
diff --git a/libc/sysdeps/linux/arm/Makefile b/libc/sysdeps/linux/arm/Makefile
index c3a57ccd3..7dee13aa9 100644
--- a/libc/sysdeps/linux/arm/Makefile
+++ b/libc/sysdeps/linux/arm/Makefile
@@ -38,7 +38,7 @@ CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0))
SSRC=longjmp.S setjmp.S vfork.S
SOBJS=$(patsubst %.S,%.o, $(SSRC))
-CSRC=fork.c ptrace.c
+CSRC=ptrace.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(SOBJS) $(MOBJ) $(COBJS)
diff --git a/libc/sysdeps/linux/i386/Makefile b/libc/sysdeps/linux/i386/Makefile
index 47fea7402..d54c78d8b 100644
--- a/libc/sysdeps/linux/i386/Makefile
+++ b/libc/sysdeps/linux/i386/Makefile
@@ -34,7 +34,7 @@ ifeq ($(UNIFIED_SYSCALL),true)
endif
SOBJS=$(patsubst %.S,%.o, $(SSRC))
-CSRC=fork.c __init_brk.c brk.c sbrk.c
+CSRC=__init_brk.c brk.c sbrk.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(SOBJS) $(COBJS)
diff --git a/libc/sysdeps/linux/i386/__uClibc_syscall.S b/libc/sysdeps/linux/i386/__uClibc_syscall.S
index 9e82d7acb..cc785efd7 100644
--- a/libc/sysdeps/linux/i386/__uClibc_syscall.S
+++ b/libc/sysdeps/linux/i386/__uClibc_syscall.S
@@ -16,8 +16,6 @@ __uClibc_syscall:
int $0x80
#NO_APP
cmpl $-4095,%eax
- /* jae .L5 */
- /* cmpl $-126,%eax */
jbe .L5
negl %eax
movl %eax,errno
diff --git a/libc/sysdeps/linux/sh/Makefile b/libc/sysdeps/linux/sh/Makefile
index a8a0cbb16..e936ee1b7 100644
--- a/libc/sysdeps/linux/sh/Makefile
+++ b/libc/sysdeps/linux/sh/Makefile
@@ -37,7 +37,7 @@ CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0))
SSRC=setjmp.S bsd-setjmp.S bsd-_setjmp.S __longjmp.S
SOBJS=$(patsubst %.S,%.o, $(SSRC))
-CSRC=fork.c vfork.c _mmap.c longjmp.c jmp-unwind.c
+CSRC=vfork.c _mmap.c longjmp.c jmp-unwind.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(SOBJS) $(MOBJ) $(COBJS)
diff --git a/libc/sysdeps/linux/sh/fork.c b/libc/sysdeps/linux/sh/fork.c
deleted file mode 100644
index af56d3675..000000000
--- a/libc/sysdeps/linux/sh/fork.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * fork for uClibc
- *
- * Copyright (C) 2000 by Lineo, inc. Written by Erik Andersen
- * <andersen@lineo.com>, <andersee@debian.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Library General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program 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 Library General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <errno.h>
-#include <features.h>
-#include <sys/types.h>
-#include <sys/syscall.h>
-
-#ifndef __HAS_NO_MMU__
-
-//#define __NR_fork 2
-#include <unistd.h>
-_syscall0(pid_t, fork);
-
-#endif
diff --git a/libc/sysdeps/linux/sparc/Makefile b/libc/sysdeps/linux/sparc/Makefile
new file mode 100644
index 000000000..d7490d43d
--- /dev/null
+++ b/libc/sysdeps/linux/sparc/Makefile
@@ -0,0 +1,63 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Library General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option) any
+# later version.
+#
+# This program 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 Library General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Library General Public License
+# along with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Derived in part from the Linux-8086 C library, the GNU C Library, and several
+# other sundry sources. Files within this library are copyright by their
+# respective copyright holders.
+
+TOPDIR=../../../
+include $(TOPDIR)Rules.mak
+LIBC=$(TOPDIR)libc.a
+ASFLAGS=$(CFLAGS)
+
+CRT0=crt0.S
+CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0))
+
+SSRC=
+SOBJS=$(patsubst %.S,%.o, $(SSRC))
+
+CSRC=
+COBJS=$(patsubst %.c,%.o, $(CSRC))
+
+OBJS=$(SOBJS) $(MOBJ) $(COBJS)
+
+
+
+all: $(OBJS) $(LIBC)
+
+$(LIBC): ar-target
+
+ar-target: $(OBJS) $(CRT0_OBJ)
+ $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+ cp $(CRT0_OBJ) $(TOPDIR)$(CRT0_OBJ)
+
+$(CRT0_OBJ): %.o : %.S
+ $(CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+$(SOBJS): %.o : %.S
+ $(CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+$(COBJS): %.o : %.c
+ $(CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+clean:
+ rm -f *.[oa] *~ core
+