diff options
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | bits/mman.h | 16 | ||||
-rw-r--r-- | misc/sys/mman.h | 4 | ||||
-rw-r--r-- | sysdeps/generic/bits/mman.h | 16 | ||||
-rw-r--r-- | sysdeps/generic/madvise.c | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/mman.h | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/bits/mman.h | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/bits/mman.h | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/bits/mman.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/mman.h | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/syscalls.list | 2 |
11 files changed, 97 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog index 5c29457274..9ffbe6305a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2000-04-13 Ulrich Drepper <drepper@redhat.com> + + * misc/Versions [libc] (GLIBC_2.2): Add posix_madvice. + * misc/sys/mman.h (posix_madvise): Add prototype. + * sysdeps/generic/madvise.c (madvise): Renamed to __madvise. Make + old name and posix_madvise weak aliases. + * sysdeps/unix/sysv/linux/syscalls.list: Likewise. + * sysdeps/generic/bits/mman.h: Add POSIX_MADV_* constants. + * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise. + 2000-04-13 Andreas Jaeger <aj@suse.de> * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Handle symbol @@ -21,7 +35,7 @@ * sysdeps/mips/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/mips/pipe.S: New file. - + 2000-04-13 Ulrich Drepper <drepper@redhat.com> * posix/globtest.sh: Work around inconsistency with expanding ~/ diff --git a/bits/mman.h b/bits/mman.h index 99e3bcd1e8..57d42546d3 100644 --- a/bits/mman.h +++ b/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for BSD-style memory management. - Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1994-1998, 2000 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 @@ -21,8 +21,9 @@ (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 +#ifndef _SYS_MMAN_H +# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead." +#endif /* Protections are chosen from these bits, OR'd together. The implementation does not necessarily support PROT_EXEC or PROT_WRITE @@ -70,4 +71,11 @@ # define MADV_DONTNEED 4 /* Don't need these pages. */ #endif -#endif /* bits/mman.h */ +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif diff --git a/misc/sys/mman.h b/misc/sys/mman.h index b86ba5e083..848ee4cdfb 100644 --- a/misc/sys/mman.h +++ b/misc/sys/mman.h @@ -91,6 +91,10 @@ extern int msync (void *__addr, size_t __len, int __flags) __THROW; for the region starting at ADDR and extending LEN bytes. */ extern int madvise (void *__addr, size_t __len, int __advice) __THROW; #endif +#ifdef __USE_XOPEN2K +/* This is the POSIX name for this function. */ +extern int posix_madvise (void *__addr, size_t __len, int __advice) __THROW; +#endif /* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to be memory resident. */ diff --git a/sysdeps/generic/bits/mman.h b/sysdeps/generic/bits/mman.h index 99e3bcd1e8..57d42546d3 100644 --- a/sysdeps/generic/bits/mman.h +++ b/sysdeps/generic/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for BSD-style memory management. - Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1994-1998, 2000 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 @@ -21,8 +21,9 @@ (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 +#ifndef _SYS_MMAN_H +# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead." +#endif /* Protections are chosen from these bits, OR'd together. The implementation does not necessarily support PROT_EXEC or PROT_WRITE @@ -70,4 +71,11 @@ # define MADV_DONTNEED 4 /* Don't need these pages. */ #endif -#endif /* bits/mman.h */ +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif diff --git a/sysdeps/generic/madvise.c b/sysdeps/generic/madvise.c index 5431bda111..d6c2322d25 100644 --- a/sysdeps/generic/madvise.c +++ b/sysdeps/generic/madvise.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1995, 1996, 1997, 2000 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 @@ -24,11 +24,12 @@ for the region starting at ADDR and extending LEN bytes. */ int -madvise (__ptr_t addr, size_t len, int advice) +__madvise (__ptr_t addr, size_t len, int advice) { __set_errno (ENOSYS); return -1; } - +weak_alias (__madvice, madvice) +weak_alias (__madvice, posix_madvise) stub_warning (madvise) #include <stub-tag.h> diff --git a/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/sysdeps/unix/sysv/linux/alpha/bits/mman.h index a7ada102d2..31e39a8af5 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/mman.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/Alpha version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2000 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 @@ -91,6 +91,15 @@ # define MADV_DONTNEED 6 /* Don't need these pages. */ #endif +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 6 /* Don't need these pages. */ +#endif + /* Not used by Linux, but here to make sure we don't clash with OSF/1 defines. */ #if 0 && defined(__USE_BSD) diff --git a/sysdeps/unix/sysv/linux/arm/bits/mman.h b/sysdeps/unix/sysv/linux/arm/bits/mman.h index 37a1959f05..fbb58c89dd 100644 --- a/sysdeps/unix/sysv/linux/arm/bits/mman.h +++ b/sysdeps/unix/sysv/linux/arm/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/ARM version. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2000 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 @@ -82,3 +82,12 @@ # define MADV_WILLNEED 3 /* Will need these pages. */ # define MADV_DONTNEED 4 /* Don't need these pages. */ #endif + +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif diff --git a/sysdeps/unix/sysv/linux/i386/bits/mman.h b/sysdeps/unix/sysv/linux/i386/bits/mman.h index 7c33f79896..b2b80ae3a3 100644 --- a/sysdeps/unix/sysv/linux/i386/bits/mman.h +++ b/sysdeps/unix/sysv/linux/i386/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/i386 version. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2000 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 @@ -82,3 +82,12 @@ # define MADV_WILLNEED 3 /* Will need these pages. */ # define MADV_DONTNEED 4 /* Don't need these pages. */ #endif + +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h index 2d04b28d5f..0808b7da37 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h @@ -81,3 +81,12 @@ # define MADV_WILLNEED 3 /* Will need these pages. */ # define MADV_DONTNEED 4 /* Don't need these pages. */ #endif + +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif diff --git a/sysdeps/unix/sysv/linux/sparc/bits/mman.h b/sysdeps/unix/sysv/linux/sparc/bits/mman.h index ffe1e527d2..03fcb11e74 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/mman.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/SPARC version. - Copyright (C) 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2000 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 @@ -84,3 +84,12 @@ # define MADV_WILLNEED 3 /* Will need these pages. */ # define MADV_DONTNEED 4 /* Don't need these pages. */ #endif + +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 4ce48d44a2..e9430e4e8a 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -24,7 +24,7 @@ ioperm - ioperm 3 ioperm iopl - iopl 1 iopl klogctl EXTRA syslog 3 klogctl lchown - lchown 3 __lchown lchown -madvise - madvise 3 madvise +madvise - madvise 3 __madvise madvise posix_madvise mincore - mincore 3 mincore mlock EXTRA mlock 2 __mlock mlock mlockall EXTRA mlockall 1 __mlockall mlockall |