From 3d42e04d74bea7bb2965a81c8d9799a8c8b9f21b Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 23 Sep 1998 18:52:55 +0000 Subject: [PATCH] Update. 1998-09-23 17:28 -0400 Zack Weinberg * 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 * 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. --- ChangeLog | 43 +++++++++++++++ {sysdeps/generic/sys => bits}/mman.h | 66 ++-------------------- include/sys/mman.h | 2 +- misc/Makefile | 2 +- {sysdeps/unix/sysv/linux => misc}/sys/mman.h | 25 ++++----- posix/getopt.h | 2 +- sysdeps/generic/bits/mman.h | 70 ++++++++++++++++++++++++ sysdeps/i386/i586/memcopy.h | 3 +- sysdeps/mach/alpha/sysdep.h | 2 +- sysdeps/mach/alpha/thread_state.h | 2 +- sysdeps/mach/i386/sysdep.h | 2 +- sysdeps/mach/i386/thread_state.h | 2 +- sysdeps/mach/mips/sysdep.h | 2 +- sysdeps/mach/mips/thread_state.h | 2 +- sysdeps/mach/pagecopy.h | 2 +- sysdeps/posix/profil.c | 2 +- sysdeps/unix/bsd/osf/{sys => bits}/mman.h | 56 ++----------------- sysdeps/unix/bsd/sun/sunos4/{sys => bits}/mman.h | 54 +----------------- sysdeps/unix/bsd/ultrix4/{sys => bits}/mman.h | 57 +------------------ sysdeps/unix/sysv/irix4/{sys => bits}/mman.h | 52 +----------------- sysdeps/unix/sysv/linux/Makefile | 2 +- sysdeps/unix/sysv/linux/alpha/Dist | 1 - sysdeps/unix/sysv/linux/arm/Dist | 1 - sysdeps/unix/sysv/linux/i386/Dist | 1 - sysdeps/unix/sysv/linux/m68k/Dist | 1 - sysdeps/unix/sysv/linux/mips/Dist | 1 - sysdeps/unix/sysv/linux/powerpc/Dist | 1 - sysdeps/unix/sysv/linux/sparc/sparc32/Dist | 1 - sysdeps/unix/sysv/linux/sparc/sparc64/Dist | 1 - 29 files changed, 155 insertions(+), 303 deletions(-) rename {sysdeps/generic/sys => bits}/mman.h (55%) rename {sysdeps/unix/sysv/linux => misc}/sys/mman.h (93%) create mode 100644 sysdeps/generic/bits/mman.h rename sysdeps/unix/bsd/osf/{sys => bits}/mman.h (60%) rename sysdeps/unix/bsd/sun/sunos4/{sys => bits}/mman.h (60%) rename sysdeps/unix/bsd/ultrix4/{sys => bits}/mman.h (52%) rename sysdeps/unix/sysv/irix4/{sys => bits}/mman.h (58%) diff --git a/ChangeLog b/ChangeLog index 6f9517c..df655a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,46 @@ +1998-09-23 17:28 -0400 Zack Weinberg + + * 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 + + * 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 * libio/stdio.h: Define __need_getopt and include getopt.h to define diff --git a/sysdeps/generic/sys/mman.h b/bits/mman.h similarity index 55% rename from sysdeps/generic/sys/mman.h rename to bits/mman.h index 8596e70..0afdf20 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 - -#include -#define __need_size_t -#include - +#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 32c2084..374de36 100644 --- a/include/sys/mman.h +++ b/include/sys/mman.h @@ -1,5 +1,5 @@ #ifndef _SYS_MMAN_H -#include_next +#include /* 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 d7982d2..948c087 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 similarity index 93% rename from sysdeps/unix/sysv/linux/sys/mman.h rename to misc/sys/mman.h index ac17af7..44d0d26 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 -/* Get the bit values from the kernel header file. */ #include /* 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 c8950ee..47a601e 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 0000000..0afdf20 --- /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 a0a9b4a..ef6d074 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 - +#include /* 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 6c1035a..5513075 100644 --- a/sysdeps/mach/alpha/sysdep.h +++ b/sysdeps/mach/alpha/sysdep.h @@ -38,4 +38,4 @@ #define STACK_GROWTH_DOWN -#include_next +#include diff --git a/sysdeps/mach/alpha/thread_state.h b/sysdeps/mach/alpha/thread_state.h index ea9f944..dc30a79 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 +#include diff --git a/sysdeps/mach/i386/sysdep.h b/sysdeps/mach/i386/sysdep.h index 00769c6..d00390a 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 +#include /* 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 1ab0b9c..72e0062 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 +#include diff --git a/sysdeps/mach/mips/sysdep.h b/sysdeps/mach/mips/sysdep.h index 7bacb02..45cbf69 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 +#include diff --git a/sysdeps/mach/mips/thread_state.h b/sysdeps/mach/mips/thread_state.h index a72848d..17334cf 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 +#include diff --git a/sysdeps/mach/pagecopy.h b/sysdeps/mach/pagecopy.h index 51fda50..93f563b 100644 --- a/sysdeps/mach/pagecopy.h +++ b/sysdeps/mach/pagecopy.h @@ -33,4 +33,4 @@ : 0))) /* Get the generic macro. */ -#include_next +#include diff --git a/sysdeps/posix/profil.c b/sysdeps/posix/profil.c index beb5ae4..6c8adbc 100644 --- a/sysdeps/posix/profil.c +++ b/sysdeps/posix/profil.c @@ -25,7 +25,7 @@ #ifndef SIGPROF -#include_next +#include #else diff --git a/sysdeps/unix/bsd/osf/sys/mman.h b/sysdeps/unix/bsd/osf/bits/mman.h similarity index 60% rename from sysdeps/unix/bsd/osf/sys/mman.h rename to sysdeps/unix/bsd/osf/bits/mman.h index 6ada4e6..fd5d79d 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 - -#include -#define __need_size_t -#include - +#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 similarity index 60% rename from sysdeps/unix/bsd/sun/sunos4/sys/mman.h rename to sysdeps/unix/bsd/sun/sunos4/bits/mman.h index 15608e5..ed80baf 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 - -#include -#define __need_size_t -#include - +#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 similarity index 52% rename from sysdeps/unix/bsd/ultrix4/sys/mman.h rename to sysdeps/unix/bsd/ultrix4/bits/mman.h index 1425094..9acb6ce 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 - -#include -#define __need_size_t -#include - +#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 similarity index 58% rename from sysdeps/unix/sysv/irix4/sys/mman.h rename to sysdeps/unix/sysv/irix4/bits/mman.h index 9147aa7..c378cce 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 - -#include - +#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 fa12c05..8efda03 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 d208604..21e1340 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 6e1be78..3217436 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 53a6b33..646be1b 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 103e273..6059865 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 0f106cf..f3ae821 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 71eb76f..081b6d2 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 b5928d8..5122b16 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 c22b73e..7364de6 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 -- 2.7.4