Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 5 Feb 2003 23:30:38 +0000 (23:30 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 5 Feb 2003 23:30:38 +0000 (23:30 +0000)
* sysdeps/unix/sysv/linux/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add posix_fadvise64 syscall.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.

ChangeLog
nptl/Banner
nptl/atomic.h
sysdeps/unix/sysv/linux/alpha/syscalls.list
sysdeps/unix/sysv/linux/ia64/syscalls.list
sysdeps/unix/sysv/linux/posix_fadvise.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
sysdeps/unix/sysv/linux/syscalls.list

index 98b79e6..9dc7b17 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2003-02-05  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/unix/sysv/linux/posix_fadvise.c: New file.
+       * sysdeps/unix/sysv/linux/syscalls.list: Add posix_fadvise64 syscall.
+       * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
+
        * libio/putwc_u.c: Use _IO_putwc_unlocked, not _IO_putc_unlocked.
        Patch by Moritz Schulte <moritz@duesseldorf.ccc.de>.
 
index f87ad4d..4732444 100644 (file)
@@ -1 +1 @@
-NPTL 0.19 by Ulrich Drepper
+NPTL 0.20 by Ulrich Drepper
index 85a43c0..4279235 100644 (file)
@@ -91,7 +91,7 @@
 #endif
 
 
-#ifdef atomic_add_negative
+#ifndef atomic_add_negative
 # define atomic_add_negative(mem, value) \
   (atomic_exchange_and_add (mem, value) < 0)
 #endif
index 6907ef1..96bc8a5 100644 (file)
@@ -20,6 +20,7 @@ getpeername   -       getpeername     3       __getpeername   getpeername
 getpriority    -       getpriority     2       __getpriority   getpriority
 mmap           -       mmap            6       __mmap          mmap __mmap64 mmap64
 llseek         EXTRA   lseek           C:3     __libc_lseek64  __llseek llseek __lseek64 lseek64
+posix_fadvise64        -       fadvise64       4       posix_fadvise64 posix_fadvise
 pread          -       pread           C:4     __libc_pread    __libc_pread64 __pread pread __pread64 pread64
 pwrite         -       pwrite          C:4     __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         2       __fstatfs       fstatfs __fstatfs64 fstatfs64
index 7df0265..0985cc9 100644 (file)
@@ -5,6 +5,7 @@ umount2         -       umount          2       __umount2       umount2
 # Whee! 64-bit systems naturally implement llseek.
 llseek         EXTRA   lseek           C:3     __libc_lseek    __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64
 lseek          llseek  -
+posix_fadvise64        -       fadvise64       4       posix_fadvise64 posix_fadvise
 pread          -       pread           C:4     __libc_pread    __libc_pread64 __pread pread __pread64 pread64
 pwrite         -       pwrite          C:4     __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         i:ip    __fstatfs       fstatfs fstatfs64 __fstatfs64
diff --git a/sysdeps/unix/sysv/linux/posix_fadvise.c b/sysdeps/unix/sysv/linux/posix_fadvise.c
new file mode 100644 (file)
index 0000000..fb1e59b
--- /dev/null
@@ -0,0 +1,36 @@
+/* Copyright (C) 2003 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 Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sysdep.h>
+
+/* Advice the system about the expected behaviour of the application with
+   respect to the file associated with FD.  */
+
+int
+posix_fadvise (int fd, __off_t offset, size_t len, int advise)
+{
+#ifdef __NR_fadvise64
+  return INLINE_SYSCALL (fadvise64, 5, fd,
+                        __LONG_LONG_PAIR (offset >> 31, offset), len, advise);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
+}
index 5266c4f..9dbe0ed 100644 (file)
@@ -25,6 +25,7 @@ s_getrlimit   getrlimit getrlimit     i:ip    __syscall_getrlimit
 s_lstat64      lxstat64 lstat64        i:sp    __syscall_lstat64
 s_mmap2                mmap64  mmap2           b:aniiii __syscall_mmap2
 s_poll         poll    poll            i:pii   __syscall_poll
+posix_fadvise64        -       fadvise64       4       posix_fadvise64 posix_fadvise
 s_ptrace       ptrace  ptrace          i:iipp  __syscall_ptrace
 s_putpmsg      putpmsg putpmsg         i:ippii __syscall_putpmsg
 s_reboot       reboot  reboot          i:iii   __syscall_reboot
index 273ed4f..5328431 100644 (file)
@@ -10,6 +10,7 @@ getpeername   -       getpeername     i:ipp   __getpeername   getpeername
 ftruncate      -       ftruncate       2       __ftruncate     ftruncate ftruncate64 __ftruncate64
 truncate       -       truncate        2       truncate        truncate64
 getrlimit      -       getrlimit       2       __getrlimit     getrlimit getrlimit64
+posix_fadvise64        -       fadvise64       4       posix_fadvise64 posix_fadvise
 setrlimit      -       setrlimit       2       __setrlimit     setrlimit setrlimit64
 vfork          -       vfork           0       __vfork         vfork
 
index a34e492..ac0610f 100644 (file)
@@ -13,6 +13,7 @@ truncate      -       truncate        2       truncate        truncate64
 mmap           -       mmap            6       __mmap          mmap __mmap64 mmap64
 readahead      -       readahead       3       __readahead     readahead
 sendfile       -       sendfile        i:iipi  sendfile        sendfile64
+posix_fadvise64        -       fadvise64       4       posix_fadvise64 posix_fadvise
 
 # Override select.S in parent directory:
 select         -       select          C:5     __select        select
index 15c6b88..e629a6c 100644 (file)
@@ -43,6 +43,7 @@ pause         -       pause           Ci:     __libc_pause    pause
 personality    init-first personality  i:i     __personality   personality
 pipe           -       pipe            i:f     __pipe          pipe
 pivot_root     EXTRA   pivot_root      i:ss    pivot_root
+posix_fadvise64        -       fadvise64       i:iiiii posix_advise64
 prctl          EXTRA   prctl           i:iiiii __prctl         prctl
 putpmsg                -       putpmsg         i:ippii putpmsg
 query_module   EXTRA   query_module    i:sipip query_module