summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-09-23 18:52:55 +0000
committerUlrich Drepper <drepper@redhat.com>1998-09-23 18:52:55 +0000
commit3d42e04d74bea7bb2965a81c8d9799a8c8b9f21b (patch)
tree9c89554cbd3a5c0f10427090925d73838b79b581
parenta379e56acc0955dd1ec03740cfbb632ce54b7416 (diff)
Update.
1998-09-23 17:28 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * misc/sys/mman.h: New file. * sysdeps/generic/bits/mman.h: New file. * sysdeps/unix/bsd/osf/bits/mman.h: New file. * sysdeps/unix/bsd/sun/sunos4/bits/mman.h: New file. * sysdeps/unix/bsd/ultrix4/bits/mman.h: New file. * sysdeps/unix/sysv/irix4/bits/mman.h: New file. * sysdeps/generic/sys/mman.h: Removed. * sysdeps/unix/bsd/osf/sys/mman.h: Removed. * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Removed. * sysdeps/unix/bsd/ultrix4/sys/mman.h: Removed. * sysdeps/unix/sysv/irix4/sys/mman.h: Removed. * sysdeps/unix/sysv/linux/sys/mman.h: Removed. * include/sys/mman.h: Look directly for misc/sys/mman.h. * misc/Makefile (headers): Add bits/mman.h. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove bits/mman.h. * sysdeps/unix/sysv/linux/alpha/Dist: Don't mention bits/mman.h. * sysdeps/unix/sysv/linux/arm/Dist: Likewise. * sysdeps/unix/sysv/linux/i386/Dist: Likewise. * sysdeps/unix/sysv/linux/m68k/Dist: Likewise. * sysdeps/unix/sysv/linux/mips/Dist: Likewise. * sysdeps/unix/sysv/linux/powerpc/Dist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise. 1998-09-23 16:27 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/mach/alpha/sysdep.h: Don't use #include_next. * sysdeps/mach/alpha/thread_state.h: Likewise. * sysdeps/mach/i386/sysdep.h: Likewise. * sysdeps/mach/i386/thread_state.h: Likewise. * sysdeps/mach/mips/sysdep.h: Likewise. * sysdeps/mach/mips/thread_state.h: Likewise. * sysdeps/posix/profil.c: Likewise. * sysdeps/i386/i586/memcopy.h: Likewise. * sysdeps/mach/pagecopy.h: Likewise.
-rw-r--r--ChangeLog43
-rw-r--r--bits/mman.h (renamed from sysdeps/generic/sys/mman.h)66
-rw-r--r--include/sys/mman.h2
-rw-r--r--misc/Makefile2
-rw-r--r--misc/sys/mman.h (renamed from sysdeps/unix/sysv/linux/sys/mman.h)25
-rw-r--r--posix/getopt.h2
-rw-r--r--sysdeps/generic/bits/mman.h70
-rw-r--r--sysdeps/i386/i586/memcopy.h3
-rw-r--r--sysdeps/mach/alpha/sysdep.h2
-rw-r--r--sysdeps/mach/alpha/thread_state.h2
-rw-r--r--sysdeps/mach/i386/sysdep.h2
-rw-r--r--sysdeps/mach/i386/thread_state.h2
-rw-r--r--sysdeps/mach/mips/sysdep.h2
-rw-r--r--sysdeps/mach/mips/thread_state.h2
-rw-r--r--sysdeps/mach/pagecopy.h2
-rw-r--r--sysdeps/posix/profil.c2
-rw-r--r--sysdeps/unix/bsd/osf/bits/mman.h (renamed from sysdeps/unix/bsd/osf/sys/mman.h)56
-rw-r--r--sysdeps/unix/bsd/sun/sunos4/bits/mman.h (renamed from sysdeps/unix/bsd/sun/sunos4/sys/mman.h)54
-rw-r--r--sysdeps/unix/bsd/ultrix4/bits/mman.h (renamed from sysdeps/unix/bsd/ultrix4/sys/mman.h)57
-rw-r--r--sysdeps/unix/sysv/irix4/bits/mman.h (renamed from sysdeps/unix/sysv/irix4/sys/mman.h)52
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/i386/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/Dist1
29 files changed, 155 insertions, 303 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f9517cac0..df655a3912 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,46 @@
+1998-09-23 17:28 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
+
+ * misc/sys/mman.h: New file.
+
+ * sysdeps/generic/bits/mman.h: New file.
+ * sysdeps/unix/bsd/osf/bits/mman.h: New file.
+ * sysdeps/unix/bsd/sun/sunos4/bits/mman.h: New file.
+ * sysdeps/unix/bsd/ultrix4/bits/mman.h: New file.
+ * sysdeps/unix/sysv/irix4/bits/mman.h: New file.
+
+ * sysdeps/generic/sys/mman.h: Removed.
+ * sysdeps/unix/bsd/osf/sys/mman.h: Removed.
+ * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Removed.
+ * sysdeps/unix/bsd/ultrix4/sys/mman.h: Removed.
+ * sysdeps/unix/sysv/irix4/sys/mman.h: Removed.
+ * sysdeps/unix/sysv/linux/sys/mman.h: Removed.
+
+ * include/sys/mman.h: Look directly for misc/sys/mman.h.
+ * misc/Makefile (headers): Add bits/mman.h.
+ * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove
+ bits/mman.h.
+
+ * sysdeps/unix/sysv/linux/alpha/Dist: Don't mention bits/mman.h.
+ * sysdeps/unix/sysv/linux/arm/Dist: Likewise.
+ * sysdeps/unix/sysv/linux/i386/Dist: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/Dist: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/Dist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise.
+
+1998-09-23 16:27 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
+
+ * sysdeps/mach/alpha/sysdep.h: Don't use #include_next.
+ * sysdeps/mach/alpha/thread_state.h: Likewise.
+ * sysdeps/mach/i386/sysdep.h: Likewise.
+ * sysdeps/mach/i386/thread_state.h: Likewise.
+ * sysdeps/mach/mips/sysdep.h: Likewise.
+ * sysdeps/mach/mips/thread_state.h: Likewise.
+ * sysdeps/posix/profil.c: Likewise.
+ * sysdeps/i386/i586/memcopy.h: Likewise.
+ * sysdeps/mach/pagecopy.h: Likewise.
+
1998-09-23 15:25 Ulrich Drepper <drepper@cygnus.com>
* libio/stdio.h: Define __need_getopt and include getopt.h to define
diff --git a/sysdeps/generic/sys/mman.h b/bits/mman.h
index 8596e70211..0afdf202a1 100644
--- a/sysdeps/generic/sys/mman.h
+++ b/bits/mman.h
@@ -1,4 +1,4 @@
-/* Definitions for BSD-style memory management. Generic/4.4 BSD version.
+/* Definitions for BSD-style memory management.
Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -21,15 +21,8 @@
(such as GNU) where these facilities are not system services but can be
emulated in the C library, these are the definitions we emulate. */
-#ifndef _SYS_MMAN_H
-
-#define _SYS_MMAN_H 1
-#include <features.h>
-
-#include <bits/types.h>
-#define __need_size_t
-#include <stddef.h>
-
+#ifndef _BITS_MMAN_H
+#define _BITS_MMAN_H 1
/* Protections are chosen from these bits, OR'd together. The
implementation does not necessarily support PROT_EXEC or PROT_WRITE
@@ -41,7 +34,6 @@
#define PROT_WRITE 0x02 /* Pages can be written. */
#define PROT_EXEC 0x01 /* Pages can be executed. */
-
/* Flags contain mapping type, sharing type and options. */
/* Mapping type (must choose one and only one of these). */
@@ -75,54 +67,4 @@
# define MADV_DONTNEED 4 /* Don't need these pages. */
#endif
-/* Return value of `mmap' in case of an error. */
-#define MAP_FAILED ((__ptr_t) -1)
-
-
-__BEGIN_DECLS
-/* Map addresses starting near ADDR and extending for LEN bytes. from
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-#ifndef __USE_FILE_OFFSET64
-extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off_t __offset));
-#else
-extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off_t __offset))
- __asm__ ("mmap64");
-#endif
-#ifdef __USE_LARGEFILE64
-extern __ptr_t mmap64 __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off64_t __offset));
-#endif
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
- bytes. Returns 0 if successful, -1 for errors (and sets errno). */
-extern int munmap __P ((__ptr_t __addr, size_t __len));
-
-/* Change the memory protection of the region starting at ADDR and
- extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
- (and sets errno). */
-extern int mprotect __P ((__ptr_t __addr, size_t __len, int __prot));
-
-/* Synchronize the region starting at ADDR and extending LEN bytes with the
- file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. Flags are from the MS_* set. */
-extern int msync __P ((__ptr_t __addr, size_t __len, int __flags));
-
-#ifdef __USE_BSD
-/* Advise the system about particular usage patterns the program follows
- for the region starting at ADDR and extending LEN bytes. */
-extern int madvise __P ((__ptr_t __addr, size_t __len, int __advice));
-#endif
-
-__END_DECLS
-
-
-#endif /* sys/mman.h */
+#endif /* bits/mman.h */
diff --git a/include/sys/mman.h b/include/sys/mman.h
index 32c2084bdd..374de36211 100644
--- a/include/sys/mman.h
+++ b/include/sys/mman.h
@@ -1,5 +1,5 @@
#ifndef _SYS_MMAN_H
-#include_next <sys/mman.h>
+#include <misc/sys/mman.h>
/* Now define the internal interfaces. */
extern __ptr_t __mmap __P ((__ptr_t __addr, size_t __len, int __prot,
diff --git a/misc/Makefile b/misc/Makefile
index d7982d2b79..948c087edf 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -29,7 +29,7 @@ headers := sys/uio.h bits/uio.h sys/ioctl.h bits/ioctls.h bits/ioctl-types.h \
sys/mman.h sys/param.h fstab.h mntent.h search.h err.h error.h \
sys/queue.h sysexits.h syscall.h sys/syscall.h sys/swap.h \
sys/select.h ustat.h sys/ustat.h bits/ustat.h sys/sysinfo.h \
- regexp.h bits/select.h
+ regexp.h bits/select.h bits/mman.h
routines := brk sbrk sstk ioctl \
readv writev \
diff --git a/sysdeps/unix/sysv/linux/sys/mman.h b/misc/sys/mman.h
index ac17af71c0..44d0d26340 100644
--- a/sysdeps/unix/sysv/linux/sys/mman.h
+++ b/misc/sys/mman.h
@@ -1,4 +1,4 @@
-/* Definitions for POSIX-style memory management. Linux version.
+/* Definitions for BSD-style memory management.
Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -25,7 +25,6 @@
#define __need_size_t
#include <stddef.h>
-/* Get the bit values from the kernel header file. */
#include <bits/mman.h>
/* Return value of `mmap' in case of an error. */
@@ -43,15 +42,15 @@ __BEGIN_DECLS
#ifndef __USE_FILE_OFFSET64
extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off_t __offset));
+ int __flags, int __fd, __off_t __offset));
#else
extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off64_t __offset))
+ int __flags, int __fd, __off_t __offset))
__asm__ ("mmap64");
#endif
#ifdef __USE_LARGEFILE64
extern __ptr_t mmap64 __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off64_t __offset));
+ int __flags, int __fd, __off64_t __offset));
#endif
/* Deallocate any mapping for the region starting at ADDR and extending LEN
@@ -74,6 +73,13 @@ extern int msync __P ((__ptr_t __addr, size_t __len, int __flags));
extern int madvise __P ((__ptr_t __addr, size_t __len, int __advice));
#endif
+/* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to
+ be memory resident. */
+extern int mlock __P ((__const __ptr_t __addr, size_t __len));
+
+/* Unlock whole pages previously mapped by the range [ADDR,ADDR+LEN). */
+extern int munlock __P ((__const __ptr_t __addr, size_t __len));
+
/* Cause all currently mapped pages of the process to be memory resident
until unlocked by a call to the `munlockall', until the process exits,
or until the process calls `execve'. */
@@ -83,13 +89,6 @@ extern int mlockall __P ((int __flags));
unlocked. */
extern int munlockall __P ((void));
-/* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to
- be memory resident. */
-extern int mlock __P ((__const __ptr_t __addr, size_t __len));
-
-/* Unlock whole pages previously mapped by the range [ADDR,ADDR+LEN). */
-extern int munlock __P ((__const __ptr_t __addr, size_t __len));
-
#ifdef __USE_MISC
/* Remap pages mapped by the range [ADDR,ADDR+OLD_LEN) to new length
NEW_LEN. If MAY_MOVE is MREMAP_MAYMOVE the returned address may
@@ -100,4 +99,4 @@ extern __ptr_t mremap __P ((__ptr_t __addr, size_t __old_len,
__END_DECLS
-#endif /* _SYS_MMAN_H */
+#endif /* sys/mman.h */
diff --git a/posix/getopt.h b/posix/getopt.h
index c8950ee4a1..47a601ec3d 100644
--- a/posix/getopt.h
+++ b/posix/getopt.h
@@ -136,7 +136,7 @@ extern int getopt (int argc, char *const *argv, const char *shortopts);
extern int getopt ();
# endif /* __GNU_LIBRARY__ */
-# ifdef __need_getopt
+# ifndef __need_getopt
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
diff --git a/sysdeps/generic/bits/mman.h b/sysdeps/generic/bits/mman.h
new file mode 100644
index 0000000000..0afdf202a1
--- /dev/null
+++ b/sysdeps/generic/bits/mman.h
@@ -0,0 +1,70 @@
+/* Definitions for BSD-style memory management.
+ Copyright (C) 1994, 1995, 1996, 1997, 1998 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 Library General Public License as
+ published by the Free Software Foundation; either version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* These are the bits used by 4.4 BSD and its derivatives. On systems
+ (such as GNU) where these facilities are not system services but can be
+ emulated in the C library, these are the definitions we emulate. */
+
+#ifndef _BITS_MMAN_H
+#define _BITS_MMAN_H 1
+
+/* Protections are chosen from these bits, OR'd together. The
+ implementation does not necessarily support PROT_EXEC or PROT_WRITE
+ without PROT_READ. The only guarantees are that no writing will be
+ allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
+
+#define PROT_NONE 0x00 /* No access. */
+#define PROT_READ 0x04 /* Pages can be read. */
+#define PROT_WRITE 0x02 /* Pages can be written. */
+#define PROT_EXEC 0x01 /* Pages can be executed. */
+
+/* Flags contain mapping type, sharing type and options. */
+
+/* Mapping type (must choose one and only one of these). */
+#ifdef __USE_BSD
+# define MAP_FILE 0x0001 /* Mapped from a file or device. */
+# define MAP_ANON 0x0002 /* Allocated from anonymous virtual memory. */
+# define MAP_TYPE 0x000f /* Mask for type field. */
+#endif
+
+/* Sharing types (must choose one and only one of these). */
+#ifdef __USE_BSD
+# define MAP_COPY 0x0020 /* Virtual copy of region at mapping time. */
+#endif
+#define MAP_SHARED 0x0010 /* Share changes. */
+#define MAP_PRIVATE 0x0000 /* Changes private; copy pages on write. */
+
+/* Other flags. */
+#define MAP_FIXED 0x0100 /* Map address must be exactly as requested. */
+#ifdef __USE_BSD
+# define MAP_NOEXTEND 0x0200 /* For MAP_FILE, don't change file size. */
+# define MAP_HASSEMPHORE 0x0400 /* Region may contain semaphores. */
+# define MAP_INHERIT 0x0800 /* Region is retained after exec. */
+#endif
+
+/* Advice to `madvise'. */
+#ifdef __USE_BSD
+# define MADV_NORMAL 0 /* No further special treatment. */
+# define MADV_RANDOM 1 /* Expect random page references. */
+# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
+# define MADV_WILLNEED 3 /* Will need these pages. */
+# define MADV_DONTNEED 4 /* Don't need these pages. */
+#endif
+
+#endif /* bits/mman.h */
diff --git a/sysdeps/i386/i586/memcopy.h b/sysdeps/i386/i586/memcopy.h
index a0a9b4a5ad..ef6d0746a9 100644
--- a/sysdeps/i386/i586/memcopy.h
+++ b/sysdeps/i386/i586/memcopy.h
@@ -19,8 +19,7 @@
Boston, MA 02111-1307, USA. */
/* Get the i386 definitions. We will override some of them below. */
-#include_next <memcopy.h>
-
+#include <sysdeps/i386/memcopy.h>
/* Written like this, the Pentium pipeline can execute the loop at a
sustained rate of 2 instructions/clock, or asymptotically 480
diff --git a/sysdeps/mach/alpha/sysdep.h b/sysdeps/mach/alpha/sysdep.h
index 6c1035a5e3..55130754aa 100644
--- a/sysdeps/mach/alpha/sysdep.h
+++ b/sysdeps/mach/alpha/sysdep.h
@@ -38,4 +38,4 @@
#define STACK_GROWTH_DOWN
-#include_next <sysdep.h>
+#include <sysdeps/mach/sysdep.h>
diff --git a/sysdeps/mach/alpha/thread_state.h b/sysdeps/mach/alpha/thread_state.h
index ea9f944064..dc30a79926 100644
--- a/sysdeps/mach/alpha/thread_state.h
+++ b/sysdeps/mach/alpha/thread_state.h
@@ -36,4 +36,4 @@ struct machine_thread_all_state
struct alpha_float_state fpu;
};
-#include_next <thread_state.h>
+#include <sysdeps/mach/thread_state.h>
diff --git a/sysdeps/mach/i386/sysdep.h b/sysdeps/mach/i386/sysdep.h
index 00769c657f..d00390afc3 100644
--- a/sysdeps/mach/i386/sysdep.h
+++ b/sysdeps/mach/i386/sysdep.h
@@ -50,7 +50,7 @@
#define STACK_GROWTH_DOWN
/* Get the machine-independent Mach definitions. */
-#include_next <sysdep.h>
+#include <sysdeps/mach/sysdep.h>
/* This should be rearranged, but at the moment this file provides
diff --git a/sysdeps/mach/i386/thread_state.h b/sysdeps/mach/i386/thread_state.h
index 1ab0b9ce8d..72e0062483 100644
--- a/sysdeps/mach/i386/thread_state.h
+++ b/sysdeps/mach/i386/thread_state.h
@@ -35,4 +35,4 @@ struct machine_thread_all_state
struct i386_float_state fpu;
};
-#include_next <thread_state.h>
+#include <sysdeps/mach/thread_state.h>
diff --git a/sysdeps/mach/mips/sysdep.h b/sysdeps/mach/mips/sysdep.h
index 7bacb02cf4..45cbf6920c 100644
--- a/sysdeps/mach/mips/sysdep.h
+++ b/sysdeps/mach/mips/sysdep.h
@@ -80,4 +80,4 @@ _start:\n\
#define ret j ra; nop
#endif
-#include_next <sysdep.h>
+#include <sysdeps/mach/sysdep.h>
diff --git a/sysdeps/mach/mips/thread_state.h b/sysdeps/mach/mips/thread_state.h
index a72848dfc0..17334cf810 100644
--- a/sysdeps/mach/mips/thread_state.h
+++ b/sysdeps/mach/mips/thread_state.h
@@ -39,4 +39,4 @@ struct machine_thread_all_state
struct mips_float_state fpu;
};
-#include_next <thread_state.h>
+#include <sysdeps/mach/thread_state.h>
diff --git a/sysdeps/mach/pagecopy.h b/sysdeps/mach/pagecopy.h
index 51fda50944..93f563be56 100644
--- a/sysdeps/mach/pagecopy.h
+++ b/sysdeps/mach/pagecopy.h
@@ -33,4 +33,4 @@
: 0)))
/* Get the generic macro. */
-#include_next <pagecopy.h>
+#include <sysdeps/generic/pagecopy.h>
diff --git a/sysdeps/posix/profil.c b/sysdeps/posix/profil.c
index beb5ae47cd..6c8adbcd0b 100644
--- a/sysdeps/posix/profil.c
+++ b/sysdeps/posix/profil.c
@@ -25,7 +25,7 @@
#ifndef SIGPROF
-#include_next <profil.c>
+#include <sysdeps/generic/profil.c>
#else
diff --git a/sysdeps/unix/bsd/osf/sys/mman.h b/sysdeps/unix/bsd/osf/bits/mman.h
index 6ada4e6497..fd5d79deef 100644
--- a/sysdeps/unix/bsd/osf/sys/mman.h
+++ b/sysdeps/unix/bsd/osf/bits/mman.h
@@ -1,4 +1,4 @@
-/* Definitions for BSD-style memory management. OSF/1 version.
+/* Flags for BSD-style memory management. OSF/1 version.
Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -17,15 +17,8 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SYS_MMAN_H
-
-#define _SYS_MMAN_H 1
-#include <features.h>
-
-#include <bits/types.h>
-#define __need_size_t
-#include <stddef.h>
-
+#ifndef _BITS_MMAN_H
+#define _BITS_MMAN_H 1
/* Protections are chosen from these bits, OR'd together. The
implementation does not necessarily support PROT_EXEC or PROT_WRITE
@@ -37,7 +30,6 @@
#define PROT_WRITE 0x02 /* Pages can be written. */
#define PROT_EXEC 0x04 /* Pages can be executed. */
-
/* Flags contain mapping type, sharing type and options. */
/* Mapping type (must choose one and only one of these). */
@@ -76,44 +68,4 @@
#define MS_SYNC 3 /* Synchronous cache flush. */
#define MS_INVALIDATE 4 /* Invalidate cached pages. */
-/* Return value of `mmap' in case of an error. */
-#define MAP_FAILED ((__ptr_t) -1)
-
-
-__BEGIN_DECLS
-/* Map addresses starting near ADDR and extending for LEN bytes. from
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, off_t __offset));
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
- bytes. Returns 0 if successful, -1 for errors (and sets errno). */
-extern int munmap __P ((__ptr_t __addr, size_t __len));
-
-/* Change the memory protection of the region starting at ADDR and
- extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
- (and sets errno). */
-extern int mprotect __P ((__ptr_t __addr, size_t __len, int __prot));
-
-/* Synchronize the region starting at ADDR and extending LEN bytes with the
- file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. */
-extern int msync __P ((__ptr_t __addr, size_t __len, int __flags));
-
-#ifdef __USE_BSD
-/* Advise the system about particular usage patterns the program follows
- for the region starting at ADDR and extending LEN bytes. */
-extern int madvise __P ((__ptr_t __addr, size_t __len, int __advice));
-#endif
-
-__END_DECLS
-
-
-#endif /* sys/mman.h */
+#endif /* bits/mman.h */
diff --git a/sysdeps/unix/bsd/sun/sunos4/sys/mman.h b/sysdeps/unix/bsd/sun/sunos4/bits/mman.h
index 15608e5f24..ed80baf2e3 100644
--- a/sysdeps/unix/bsd/sun/sunos4/sys/mman.h
+++ b/sysdeps/unix/bsd/sun/sunos4/bits/mman.h
@@ -17,15 +17,8 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SYS_MMAN_H
-
-#define _SYS_MMAN_H 1
-#include <features.h>
-
-#include <bits/types.h>
-#define __need_size_t
-#include <stddef.h>
-
+#ifndef _BITS_MMAN_H
+#define _BITS_MMAN_H 1
/* Protections are chosen from these bits, OR'd together. The
implementation does not necessarily support PROT_EXEC or PROT_WRITE
@@ -37,7 +30,6 @@
#define PROT_WRITE 0x02 /* Pages can be written. */
#define PROT_EXEC 0x04 /* Pages can be executed. */
-
/* Sharing types (must choose one and only one of these). */
#define MAP_SHARED 0x01 /* Share changes. */
#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */
@@ -73,44 +65,4 @@
#define MS_ASYNC 0x1 /* Return immediately, don't fsync. */
#define MS_INVALIDATE 0x2 /* Invalidate caches. */
-/* Return value of `mmap' in case of an error. */
-#define MAP_FAILED ((__ptr_t) -1)
-
-
-__BEGIN_DECLS
-/* Map addresses starting near ADDR and extending for LEN bytes. from
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off_t __offset));
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
- bytes. Returns 0 if successful, -1 for errors (and sets errno). */
-extern int munmap __P ((__ptr_t __addr, size_t __len));
-
-/* Change the memory protection of the region starting at ADDR and
- extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
- (and sets errno). */
-extern int mprotect __P ((__ptr_t __addr, size_t __len, int __prot));
-
-/* Synchronize the region starting at ADDR and extending LEN bytes with the
- file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. */
-extern int msync __P ((__ptr_t __addr, size_t __len, int __flags));
-
-#ifdef __USE_BSD
-/* Advise the system about particular usage patterns the program follows
- for the region starting at ADDR and extending LEN bytes. */
-extern int madvise __P ((__ptr_t __addr, size_t __len, int __advice));
-#endif
-
-__END_DECLS
-
-
-#endif /* sys/mman.h */
+#endif /* bits/mman.h */
diff --git a/sysdeps/unix/bsd/ultrix4/sys/mman.h b/sysdeps/unix/bsd/ultrix4/bits/mman.h
index 142509455c..9acb6ceed5 100644
--- a/sysdeps/unix/bsd/ultrix4/sys/mman.h
+++ b/sysdeps/unix/bsd/ultrix4/bits/mman.h
@@ -17,15 +17,8 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SYS_MMAN_H
-
-#define _SYS_MMAN_H 1
-#include <features.h>
-
-#include <bits/types.h>
-#define __need_size_t
-#include <stddef.h>
-
+#ifndef _BITS_MMAN_H
+#define _BITS_MMAN_H 1
/* Protections are chosen from these bits, OR'd together. The
implementation does not necessarily support PROT_EXEC or PROT_WRITE
@@ -36,8 +29,6 @@
#define PROT_READ 0x01 /* Pages can be read. */
#define PROT_WRITE 0x02 /* Pages can be written. */
#define PROT_EXEC 0x04 /* Pages can be executed. */
-
-
/* Sharing types (must choose one and only one of these). */
#define MAP_SHARED 0x01 /* Share changes. */
#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */
@@ -57,46 +48,4 @@
# define MADV_DONTNEED 4 /* Don't need these pages. */
#endif
-/* Return value of `mmap' in case of an error. */
-#define MAP_FAILED ((__ptr_t) -1)
-
-
-__BEGIN_DECLS
-/* Map addresses starting near ADDR and extending for LEN bytes. from
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, off_t __offset));
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
- bytes. Returns 0 if successful, -1 for errors (and sets errno). */
-extern int munmap __P ((__ptr_t __addr, size_t __len));
-
-/* Change the memory protection of the region starting at ADDR and
- extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
- (and sets errno). */
-extern int mprotect __P ((__ptr_t __addr, size_t __len, int __prot));
-
-/* Ultrix 4 does not implement `msync' or `madvise'. */
-
-/* Synchronize the region starting at ADDR and extending LEN bytes with the
- file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. */
-extern int msync __P ((__ptr_t __addr, size_t __len));
-
-#ifdef __USE_BSD
-/* Advise the system about particular usage patterns the program follows
- for the region starting at ADDR and extending LEN bytes. */
-extern int madvise __P ((__ptr_t __addr, size_t __len, int __advice));
-#endif
-
-__END_DECLS
-
-
-#endif /* sys/mman.h */
+#endif /* bits/mman.h */
diff --git a/sysdeps/unix/sysv/irix4/sys/mman.h b/sysdeps/unix/sysv/irix4/bits/mman.h
index 9147aa7e58..c378cce648 100644
--- a/sysdeps/unix/sysv/irix4/sys/mman.h
+++ b/sysdeps/unix/sysv/irix4/bits/mman.h
@@ -17,13 +17,8 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SYS_MMAN_H
-
-#define _SYS_MMAN_H 1
-#include <features.h>
-
-#include <bits/types.h>
-
+#ifndef _BITS_MMAN_H
+#define _BITS_MMAN_H 1
/* Protections are chosen from these bits, OR'd together. The
implementation does not necessarily support PROT_EXEC or PROT_WRITE
@@ -38,7 +33,6 @@
# define PROT_EXECUTE PROT_EXEC
#endif
-
/* Sharing types (must choose one and only one of these). */
#define MAP_SHARED 0x01 /* Share changes. */
#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */
@@ -67,44 +61,4 @@
#define MS_ASYNC 0x1 /* Return immediately, don't fsync. */
#define MS_INVALIDATE 0x2 /* Invalidate caches. */
-/* Return value of `mmap' in case of an error. */
-#define MAP_FAILED ((__ptr_t) -1)
-
-
-__BEGIN_DECLS
-/* Map addresses starting near ADDR and extending for LEN bytes. from
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
- int __flags, int __fd, __off_t __offset));
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
- bytes. Returns 0 if successful, -1 for errors (and sets errno). */
-extern int munmap __P ((__ptr_t __addr, size_t __len));
-
-/* Change the memory protection of the region starting at ADDR and
- extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
- (and sets errno). */
-extern int mprotect __P ((__ptr_t __addr, size_t __len, int __prot));
-
-/* Synchronize the region starting at ADDR and extending LEN bytes with the
- file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. */
-extern int msync __P ((__ptr_t __addr, size_t __len, int __flags));
-
-#ifdef __USE_BSD
-/* Advise the system about particular usage patterns the program follows
- for the region starting at ADDR and extending LEN bytes. */
-extern int madvise __P ((__ptr_t __addr, size_t __len, int __advice));
-#endif
-
-__END_DECLS
-
-
-#endif /* sys/mman.h */
+#endif /* bits/mman.h */
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index fa12c056e2..8efda034e5 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -15,7 +15,7 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \
sys/io.h sys/klog.h sys/kdaemon.h \
sys/user.h sys/sysmacros.h sys/procfs.h sys/prctl.h \
sys/kd.h sys/soundcard.h sys/vt.h \
- sys/quota.h sys/fsuid.h bits/mman.h \
+ sys/quota.h sys/fsuid.h \
scsi/sg.h scsi/scsi.h sys/pci.h sys/ultrasound.h \
sys/sendfile.h
diff --git a/sysdeps/unix/sysv/linux/alpha/Dist b/sysdeps/unix/sysv/linux/alpha/Dist
index d20860445c..21e134024f 100644
--- a/sysdeps/unix/sysv/linux/alpha/Dist
+++ b/sysdeps/unix/sysv/linux/alpha/Dist
@@ -1,6 +1,5 @@
alpha/ptrace.h
alpha/regdef.h
-bits/mman.h
clone.S
ieee_get_fp_control.S
ieee_set_fp_control.S
diff --git a/sysdeps/unix/sysv/linux/arm/Dist b/sysdeps/unix/sysv/linux/arm/Dist
index 6e1be78f3a..3217436f25 100644
--- a/sysdeps/unix/sysv/linux/arm/Dist
+++ b/sysdeps/unix/sysv/linux/arm/Dist
@@ -1,3 +1,2 @@
-bits/mman.h
clone.S
init-first.h
diff --git a/sysdeps/unix/sysv/linux/i386/Dist b/sysdeps/unix/sysv/linux/i386/Dist
index 53a6b338fb..646be1baaa 100644
--- a/sysdeps/unix/sysv/linux/i386/Dist
+++ b/sysdeps/unix/sysv/linux/i386/Dist
@@ -1,4 +1,3 @@
-bits/mman.h
clone.S
s_pread64.S
s_pwrite64.S
diff --git a/sysdeps/unix/sysv/linux/m68k/Dist b/sysdeps/unix/sysv/linux/m68k/Dist
index 103e273817..6059865f54 100644
--- a/sysdeps/unix/sysv/linux/m68k/Dist
+++ b/sysdeps/unix/sysv/linux/m68k/Dist
@@ -1,4 +1,3 @@
-bits/mman.h
clone.S
mremap.S
sys/reg.h
diff --git a/sysdeps/unix/sysv/linux/mips/Dist b/sysdeps/unix/sysv/linux/mips/Dist
index 0f106cf8fa..f3ae821129 100644
--- a/sysdeps/unix/sysv/linux/mips/Dist
+++ b/sysdeps/unix/sysv/linux/mips/Dist
@@ -1,4 +1,3 @@
-bits/mman.h
clone.S
kernel_sigaction.h
kernel_stat.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/Dist b/sysdeps/unix/sysv/linux/powerpc/Dist
index 71eb76f0c0..081b6d2ebe 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Dist
+++ b/sysdeps/unix/sysv/linux/powerpc/Dist
@@ -1,4 +1,3 @@
-bits/mman.h
clone.S
kernel_stat.h
kernel_termios.h
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Dist b/sysdeps/unix/sysv/linux/sparc/sparc32/Dist
index b5928d86f2..5122b16230 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/Dist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Dist
@@ -1,4 +1,3 @@
-bits/mman.h
clone.S
pipe.S
fork.S
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Dist b/sysdeps/unix/sysv/linux/sparc/sparc64/Dist
index c22b73ebd2..7364de645f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/Dist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Dist
@@ -1,4 +1,3 @@
-bits/mman.h
clone.S
kernel_stat.h
getcontext.S