summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2005-10-04 22:26:07 +0000
committerEric Andersen <andersen@codepoet.org>2005-10-04 22:26:07 +0000
commit977216264f4ef4c2ebeb9d30435c17a950fed6e6 (patch)
treeb43b4b36da948adf32ace8f819e5d8e23085947f
parentda595aca3aef049535b12fdcec0e77c787286779 (diff)
Do not stub out functions for mmu-less systems. Hide all
prototypes for functions disabled on mmu-less systems.
-rw-r--r--include/sys/mman.h2
-rw-r--r--include/unistd.h4
-rw-r--r--libc/sysdeps/linux/common/fork.c8
-rw-r--r--libc/sysdeps/linux/common/ioperm.c6
-rw-r--r--libc/sysdeps/linux/common/iopl.c6
-rw-r--r--libc/sysdeps/linux/common/mlock.c4
-rw-r--r--libc/sysdeps/linux/common/mlockall.c4
-rw-r--r--libc/sysdeps/linux/common/munlock.c4
-rw-r--r--libc/unistd/Makefile4
-rw-r--r--libc/unistd/daemon.c5
10 files changed, 16 insertions, 31 deletions
diff --git a/include/sys/mman.h b/include/sys/mman.h
index c0dd39e32..a0ac6f981 100644
--- a/include/sys/mman.h
+++ b/include/sys/mman.h
@@ -96,6 +96,7 @@ extern int madvise (void *__addr, size_t __len, int __advice) __THROW;
extern int posix_madvise (void *__addr, size_t __len, int __advice) __THROW;
#endif
+#if defined __ARCH_HAS_MMU__
/* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to
be memory resident. */
extern int mlock (__const void *__addr, size_t __len) __THROW;
@@ -111,6 +112,7 @@ extern int mlockall (int __flags) __THROW;
/* All currently mapped pages of the process' address space become
unlocked. */
extern int munlockall (void) __THROW;
+#endif
#ifdef __USE_MISC
/* Remap pages mapped by the range [ADDR,ADDR+OLD_LEN) to new length
diff --git a/include/unistd.h b/include/unistd.h
index ab8e4b31a..6ee8732dd 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -632,10 +632,12 @@ extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid);
#endif
+#ifdef __ARCH_HAS_MMU__
/* Clone the calling process, creating an exact copy.
Return -1 for errors, 0 to the new process,
and the process ID of the new process to the old process. */
extern __pid_t fork (void) __THROW;
+#endif
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
/* Clone the calling process, but without copying the whole address space.
@@ -752,10 +754,12 @@ extern void endusershell (void) __THROW; /* Discard cached info. */
extern void setusershell (void) __THROW; /* Rewind and re-read the file. */
+#if defined __ARCH_HAS_MMU__
/* Put the program in the background, and dissociate from the controlling
terminal. If NOCHDIR is zero, do `chdir ("/")'. If NOCLOSE is zero,
redirects stdin, stdout, and stderr to /dev/null. */
extern int daemon (int __nochdir, int __noclose) __THROW;
+#endif
#endif /* Use BSD || X/Open. */
diff --git a/libc/sysdeps/linux/common/fork.c b/libc/sysdeps/linux/common/fork.c
index 987626587..9f87ea4e2 100644
--- a/libc/sysdeps/linux/common/fork.c
+++ b/libc/sysdeps/linux/common/fork.c
@@ -13,11 +13,5 @@
#ifdef __ARCH_HAS_MMU__
#define __NR___libc_fork __NR_fork
_syscall0(pid_t, __libc_fork);
-#else
-pid_t __libc_fork(void)
-{
- __set_errno(ENOSYS);
- return -1;
-}
-#endif
weak_alias(__libc_fork, fork);
+#endif
diff --git a/libc/sysdeps/linux/common/ioperm.c b/libc/sysdeps/linux/common/ioperm.c
index 874577a64..16c9eecfa 100644
--- a/libc/sysdeps/linux/common/ioperm.c
+++ b/libc/sysdeps/linux/common/ioperm.c
@@ -10,10 +10,4 @@
#include "syscalls.h"
#if defined __ARCH_HAS_MMU__ && defined __NR_ioperm
_syscall3(int, ioperm, unsigned long, from, unsigned long, num, int, turn_on);
-#else
-int ioperm(unsigned long from, unsigned long num, int turn_on)
-{
- __set_errno(ENOSYS);
- return -1;
-}
#endif
diff --git a/libc/sysdeps/linux/common/iopl.c b/libc/sysdeps/linux/common/iopl.c
index dd45563c2..ab9513d9b 100644
--- a/libc/sysdeps/linux/common/iopl.c
+++ b/libc/sysdeps/linux/common/iopl.c
@@ -11,10 +11,4 @@
/* Tuns out the m68k unistd.h kernel header is broken */
#if defined __ARCH_HAS_MMU__ && defined __NR_iopl && ( !defined(__mc68000__))
_syscall1(int, iopl, int, level);
-#else
-int iopl(int level)
-{
- __set_errno(ENOSYS);
- return -1;
-}
#endif
diff --git a/libc/sysdeps/linux/common/mlock.c b/libc/sysdeps/linux/common/mlock.c
index 025f8e94a..aa6bbb63b 100644
--- a/libc/sysdeps/linux/common/mlock.c
+++ b/libc/sysdeps/linux/common/mlock.c
@@ -9,6 +9,6 @@
#include "syscalls.h"
#include <sys/mman.h>
-# if defined __ARCH_HAS_MMU__ && defined __NR_mlock
+#if defined __ARCH_HAS_MMU__ && defined __NR_mlock
_syscall2(int, mlock, const void *, addr, size_t, len);
-# endif
+#endif
diff --git a/libc/sysdeps/linux/common/mlockall.c b/libc/sysdeps/linux/common/mlockall.c
index 1bf6ecc3f..4f51bd0df 100644
--- a/libc/sysdeps/linux/common/mlockall.c
+++ b/libc/sysdeps/linux/common/mlockall.c
@@ -9,6 +9,6 @@
#include "syscalls.h"
#include <sys/mman.h>
-# if defined __ARCH_HAS_MMU__ && defined __NR_mlockall
+#if defined __ARCH_HAS_MMU__ && defined __NR_mlockall
_syscall1(int, mlockall, int, flags);
-# endif
+#endif
diff --git a/libc/sysdeps/linux/common/munlock.c b/libc/sysdeps/linux/common/munlock.c
index 7bbcb6cae..674ae41e0 100644
--- a/libc/sysdeps/linux/common/munlock.c
+++ b/libc/sysdeps/linux/common/munlock.c
@@ -9,6 +9,6 @@
#include "syscalls.h"
#include <sys/mman.h>
-# if defined __ARCH_HAS_MMU__ && defined __NR_munlock
+#if defined __ARCH_HAS_MMU__ && defined __NR_munlock
_syscall2(int, munlock, const void *, addr, size_t, len);
-# endif
+#endif
diff --git a/libc/unistd/Makefile b/libc/unistd/Makefile
index ed142a8aa..73be2f0cc 100644
--- a/libc/unistd/Makefile
+++ b/libc/unistd/Makefile
@@ -27,9 +27,7 @@ CSRC= sleep.c usleep.c ualarm.c getpass.c sysconf.c getlogin.c \
fpathconf.c confstr.c pathconf.c swab.c usershell.c \
getsubopt.c
-ifeq ($(strip $(ARCH_HAS_MMU)),y)
- CSRC += daemon.c
-else
+ifneq ($(strip $(ARCH_HAS_MMU)),y)
MOBJ1 += __exec_alloc.o
endif
diff --git a/libc/unistd/daemon.c b/libc/unistd/daemon.c
index 91ae4056f..c584d8fc5 100644
--- a/libc/unistd/daemon.c
+++ b/libc/unistd/daemon.c
@@ -29,8 +29,7 @@
#include <paths.h>
#include <unistd.h>
-/* Note that this file should not be compiled in
- * unless __ARCH_HAS_MMU__ is defined */
+#if defined __ARCH_HAS_MMU__
int daemon( int nochdir, int noclose )
{
@@ -66,7 +65,7 @@ int daemon( int nochdir, int noclose )
return(0);
}
-
+#endif
/*-
* Copyright (c) 1990, 1993