This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Community source repository for glibc add-on ports branch, release/2.10/master, updated. glibc-2.10.2-1-gc1bffe0


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Community source repository for glibc add-on ports".

The branch, release/2.10/master has been updated
       via  c1bffe0cdfeccbc021fc31914be58d7e37100f7b (commit)
      from  9b84c1a7de6dd306a67f8a0f1a8d52ae8a75214e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=c1bffe0cdfeccbc021fc31914be58d7e37100f7b

commit c1bffe0cdfeccbc021fc31914be58d7e37100f7b
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Dec 1 01:27:19 2009 +0000

    Fix MIPS64 posix_fadvise and posix_fadvise64.
    
    Similar to the problems I fixed for posix_fallocate
    <http://sourceware.org/ml/libc-ports/2008-12/msg00007.html> and
    fallocate <http://sourceware.org/ml/libc-ports/2009-05/msg00031.html>,
    MIPS64 posix_advise also needs fixes to use the correct syscall
    interfaces.  Although the existing n32 posix_fadvise64 is OK, getting
    posix_fadvise from syscalls.list does not work correctly, as this
    function is supposed to return an error code instead of storing it in
    errno as the generic syscall implementations from syscalls.list do.
    (cherry picked from commit 2d68f6afef560a66d11d65738c2412b9cecf5d0a)

diff --git a/ChangeLog.mips b/ChangeLog.mips
index ce75d80..2428f09 100644
--- a/ChangeLog.mips
+++ b/ChangeLog.mips
@@ -1,3 +1,11 @@
+2009-12-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
+	(posix_fadvise): Remove.
+	* sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fadvise.c,
+	sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c,
+	sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c: New.
+
 2009-11-06  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (fallocate): Fix types
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fadvise.c b/sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fadvise.c
new file mode 100644
index 0000000..7bb197a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fadvise.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2003, 2004, 2009 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, off_t len, int advise)
+{
+#ifdef __NR_fadvise64
+  INTERNAL_SYSCALL_DECL (err);
+  int ret = INTERNAL_SYSCALL (fadvise64, err, 4, fd, offset, len, advise);
+  if (INTERNAL_SYSCALL_ERROR_P (ret, err))
+    return INTERNAL_SYSCALL_ERRNO (ret, err);
+  return 0;
+#else
+  return ENOSYS;
+#endif
+}
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
index 2e4bed0..5ade6f0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
@@ -2,6 +2,5 @@
 
 readahead	-	readahead	i:iii	__readahead	readahead
 sync_file_range	-	sync_file_range	i:iiii	sync_file_range
-posix_fadvise	-	fadvise64	i:iiii	posix_fadvise
 ftruncate	-	ftruncate	i:ii	__ftruncate	ftruncate ftruncate64 __ftruncate64
 truncate	-	truncate	i:si	truncate	truncate64
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
new file mode 100644
index 0000000..0287b83
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c>
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c
new file mode 100644
index 0000000..c9f72c4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c
@@ -0,0 +1 @@
+/* posix_fadvise64 is in posix_fadvise.c */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog.mips                                     |    8 ++++++++
 .../mips/{mips32 => mips64/n32}/posix_fadvise.c    |    8 ++------
 .../unix/sysv/linux/mips/mips64/n32/syscalls.list  |    1 -
 .../sysv/linux/mips/mips64/n64/posix_fadvise.c     |    1 +
 .../sysv/linux/mips/mips64/n64/posix_fadvise64.c   |    1 +
 5 files changed, 12 insertions(+), 7 deletions(-)
 copy sysdeps/unix/sysv/linux/mips/{mips32 => mips64/n32}/posix_fadvise.c (80%)
 create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
 create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c


hooks/post-receive
-- 
Community source repository for glibc add-on ports


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]