From 977216264f4ef4c2ebeb9d30435c17a950fed6e6 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 4 Oct 2005 22:26:07 +0000 Subject: Do not stub out functions for mmu-less systems. Hide all prototypes for functions disabled on mmu-less systems. --- include/sys/mman.h | 2 ++ include/unistd.h | 4 ++++ libc/sysdeps/linux/common/fork.c | 8 +------- libc/sysdeps/linux/common/ioperm.c | 6 ------ libc/sysdeps/linux/common/iopl.c | 6 ------ libc/sysdeps/linux/common/mlock.c | 4 ++-- libc/sysdeps/linux/common/mlockall.c | 4 ++-- libc/sysdeps/linux/common/munlock.c | 4 ++-- libc/unistd/Makefile | 4 +--- libc/unistd/daemon.c | 5 ++--- 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 -# 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 -# 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 -# 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 #include -/* 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 -- cgit v1.2.3