Move mips from ports to libc.
[jlayton/glibc.git] / sysdeps / unix / sysv / linux / mips / pwrite.c
index 130515af6dc762a9590f97f6abdc7666f74b3480..426a534596f096271172aea5318d7c0ca226f476 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004
-   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 <assert.h>
 #include <errno.h>
+#ifndef NO_SGIDEFS_H
 #include <sgidefs.h>
+#endif
 #include <unistd.h>
 #include <endian.h>
 
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
-#include <bp-checks.h>
 
 #include <kernel-features.h>
-#ifndef NO_SGIDEFS_H
-#include <sgidefs.h>
-#endif
 
 #ifdef __NR_pwrite64            /* Newer kernels renamed but it's the same.  */
 # ifdef __NR_pwrite
 # define __NR_pwrite __NR_pwrite64
 #endif
 
-#if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
-
-# if __ASSUME_PWRITE_SYSCALL == 0
-static ssize_t __emulate_pwrite (int fd, const void *buf, size_t count,
-                                off_t offset) internal_function;
-# endif
 
 ssize_t
 __libc_pwrite (fd, buf, count, offset)
@@ -62,36 +52,23 @@ __libc_pwrite (fd, buf, count, offset)
 
   if (SINGLE_THREAD_P)
     {
-      /* First try the syscall.  */
 #if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
-      result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
-                              offset);
+      result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
 #else
-      result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
+      result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
                               __LONG_LONG_PAIR (offset >> 31, offset));
 #endif
-# if __ASSUME_PWRITE_SYSCALL == 0
-      if (result == -1 && errno == ENOSYS)
-        /* No system call available.  Use the emulation.  */
-        result = __emulate_pwrite (fd, buf, count, offset);
-# endif
       return result;
     }
 
   int oldtype = LIBC_CANCEL_ASYNC ();
 
-  /* First try the syscall.  */
 #if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
-  result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count, offset);
+  result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
 #else
-  result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
+  result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
                           __LONG_LONG_PAIR (offset >> 31, offset));
 #endif
-# if __ASSUME_PWRITE_SYSCALL == 0
-  if (result == -1 && errno == ENOSYS)
-    /* No system call available.  Use the emulation.  */
-    result = __emulate_pwrite (fd, buf, count, offset);
-# endif
 
   LIBC_CANCEL_RESET (oldtype);
 
@@ -100,11 +77,3 @@ __libc_pwrite (fd, buf, count, offset)
 
 strong_alias (__libc_pwrite, __pwrite)
 weak_alias (__libc_pwrite, pwrite)
-
-# define __libc_pwrite(fd, buf, count, offset) \
-     static internal_function __emulate_pwrite (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PWRITE_SYSCALL == 0
-# include <sysdeps/posix/pwrite.c>
-#endif