]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c
Update copyright notices with scripts/update-copyrights
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / powerpc / powerpc32 / pread64.c
index d4fe1eea2d11674aa19ed08b7bd82303b4315a5e..399419b83c43857395cab4e4f80a712c8a954bbd 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
-   Free Software Foundation, Inc.
+/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
    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.  */
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #include <errno.h>
 #include <unistd.h>
 
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
-#include "kernel-features.h"
-
-#if defined __NR_pread || __ASSUME_PREAD_SYSCALL > 0
-
-# if __ASSUME_PREAD_SYSCALL == 0
-static ssize_t __emulate_pread64 (int fd, void *buf, size_t count,
-                                 off64_t offset) internal_function;
-# endif
+#include <kernel-features.h>
 
 
 ssize_t
@@ -47,14 +37,9 @@ __libc_pread64 (fd, buf, count, offset)
   if (SINGLE_THREAD_P)
     {
       /* On PPC32 64bit values are aligned in odd/even register pairs.  */
-      result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
+      result = INLINE_SYSCALL (pread, 6, fd, buf, count,
                               0, (long) (offset >> 32),
                               (long) offset);
-# if __ASSUME_PREAD_SYSCALL == 0
-      if (result == -1 && errno == ENOSYS)
-       /* No system call available.  Use the emulation.  */
-       result = __emulate_pread64 (fd, buf, count, offset);
-# endif
 
       return result;
     }
@@ -62,14 +47,9 @@ __libc_pread64 (fd, buf, count, offset)
   int oldtype = LIBC_CANCEL_ASYNC ();
 
   /* On PPC32 64bit values are aligned in odd/even register pairs.  */
-  result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
+  result = INLINE_SYSCALL (pread, 6, fd, buf, count,
                           0, (long) (offset >> 32),
                           (long) offset);
-# if __ASSUME_PREAD_SYSCALL == 0
-  if (result == -1 && errno == ENOSYS)
-    /* No system call available.  Use the emulation.  */
-    result = __emulate_pread64 (fd, buf, count, offset);
-# endif
 
   LIBC_CANCEL_RESET (oldtype);
 
@@ -78,11 +58,3 @@ __libc_pread64 (fd, buf, count, offset)
 
 weak_alias (__libc_pread64, __pread64)
 weak_alias (__libc_pread64, pread64)
-
-# define __libc_pread64(fd, buf, count, offset) \
-     static internal_function __emulate_pread64 (fd, buf, count, offset)
-#endif
-
-# if __ASSUME_PREAD_SYSCALL == 0
-# include <sysdeps/posix/pread64.c>
-#endif