From 8f6f7a31c9aea07b4f364fe1ba33fa099169a007 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 14 Apr 2000 05:59:03 +0000 Subject: [PATCH] Update. 2000-04-13 Ulrich Drepper * 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. --- ChangeLog | 16 +++++++++++++++- bits/mman.h | 16 ++++++++++++---- misc/sys/mman.h | 4 ++++ sysdeps/generic/bits/mman.h | 16 ++++++++++++---- sysdeps/generic/madvise.c | 7 ++++--- sysdeps/unix/sysv/linux/alpha/bits/mman.h | 11 ++++++++++- sysdeps/unix/sysv/linux/arm/bits/mman.h | 11 ++++++++++- sysdeps/unix/sysv/linux/i386/bits/mman.h | 11 ++++++++++- sysdeps/unix/sysv/linux/powerpc/bits/mman.h | 9 +++++++++ sysdeps/unix/sysv/linux/sparc/bits/mman.h | 11 ++++++++++- sysdeps/unix/sysv/linux/syscalls.list | 2 +- 11 files changed, 97 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5c29457..9ffbe63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2000-04-13 Ulrich Drepper + + * 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 * 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 * posix/globtest.sh: Work around inconsistency with expanding ~/ diff --git a/bits/mman.h b/bits/mman.h index 99e3bcd..57d4254 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 directly; include 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 b86ba5e..848ee4c 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 99e3bcd..57d4254 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 directly; include 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 5431bda..d6c2322 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 diff --git a/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/sysdeps/unix/sysv/linux/alpha/bits/mman.h index a7ada10..31e39a8 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 37a1959..fbb58c8 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 7c33f79..b2b80ae 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 2d04b28..0808b7d 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 ffe1e52..03fcb11 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 4ce48d4..e9430e4 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 -- 2.7.4