about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/chown.c90
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/fchownat.c12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c29
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c28
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c28
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c28
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c28
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c28
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c28
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c28
10 files changed, 10 insertions, 317 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/chown.c b/sysdeps/unix/sysv/linux/powerpc/chown.c
index 33bb4921c6..be6a828f9b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/chown.c
+++ b/sysdeps/unix/sysv/linux/powerpc/chown.c
@@ -1,5 +1,5 @@
 /* chown() compatibility.
-   Copyright (C) 1998, 2000, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1998-2012 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
@@ -35,95 +35,7 @@
 int
 __chown (const char *file, uid_t owner, gid_t group)
 {
-#if __ASSUME_LCHOWN_SYSCALL
   return INLINE_SYSCALL (chown, 3, file, owner, group);
-#else
-  int err;
-  int old_errno;
-  char link[PATH_MAX + 2];
-  char path[2 * PATH_MAX + 4];
-  int loopct;
-  size_t filelen;
-  static int libc_old_chown = 0 /* -1=old linux, 1=new linux, 0=unknown */;
-
-  if (libc_old_chown == 1)
-    return INLINE_SYSCALL (chown, 3, __ptrvalue (file), owner, group);
-
-  old_errno = errno;
-
-# ifdef __NR_lchown
-  if (libc_old_chown == 0)
-    {
-      err = INLINE_SYSCALL (chown, 3, __ptrvalue (file), owner, group);
-      if (err != -1 || errno != ENOSYS)
-	{
-	  libc_old_chown = 1;
-	  return err;
-	}
-      libc_old_chown = -1;
-    }
-# endif
-
-  err = __readlink (file, link, PATH_MAX + 1);
-  if (err == -1)
-    {
-      __set_errno (old_errno);
-      return __lchown (file, owner, group);
-    }
-
-  filelen = strlen (file) + 1;
-  if (filelen > sizeof (path))
-    {
-      __set_errno (ENAMETOOLONG);
-      return -1;
-    }
-  memcpy (path, file, filelen);
-
-  /* 'The system has an arbitrary limit...'  In practise, we'll hit
-     ENAMETOOLONG before this, usually.  */
-  for (loopct = 0; loopct < 128; ++loopct)
-    {
-      size_t linklen;
-
-      if (err >= PATH_MAX + 1)
-	{
-	  __set_errno (ENAMETOOLONG);
-	  return -1;
-	}
-
-      link[err] = 0;  /* Null-terminate string, just-in-case.  */
-
-      linklen = strlen (link) + 1;
-
-      if (link[0] == '/')
-	memcpy (path, link, linklen);
-      else
-	{
-	  filelen = strlen (path);
-
-	  while (filelen > 1 && path[filelen - 1] == '/')
-	    --filelen;
-	  while (filelen > 0 && path[filelen - 1] != '/')
-	    --filelen;
-	  if (filelen + linklen > sizeof (path))
-	    {
-	      errno = ENAMETOOLONG;
-	      return -1;
-	    }
-	  memcpy (path + filelen, link, linklen);
-	}
-
-      err = __readlink (path, link, PATH_MAX + 1);
-
-      if (err == -1)
-	{
-	  __set_errno (old_errno);
-	  return __lchown (path, owner, group);
-	}
-    }
-  __set_errno (ELOOP);
-  return -1;
-#endif
 }
 libc_hidden_def (__chown)
 
diff --git a/sysdeps/unix/sysv/linux/powerpc/fchownat.c b/sysdeps/unix/sysv/linux/powerpc/fchownat.c
index 16aacb36f7..b92e35a9e7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/fchownat.c
+++ b/sysdeps/unix/sysv/linux/powerpc/fchownat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2012 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
@@ -86,7 +86,6 @@ fchownat (int fd, const char *file, uid_t owner, gid_t group, int flag)
       file = buf;
     }
 
-# if __ASSUME_LCHOWN_SYSCALL
   INTERNAL_SYSCALL_DECL (err);
 
   if (flag & AT_SYMLINK_NOFOLLOW)
@@ -99,15 +98,6 @@ fchownat (int fd, const char *file, uid_t owner, gid_t group, int flag)
       __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (result, err), fd, buf);
       return -1;
     }
-# else
-  /* Don't inline the rest to avoid unnecessary code duplication.  */
-  if (flag & AT_SYMLINK_NOFOLLOW)
-    result = __lchown (file, owner, group);
-  else
-    result = __chown (file, owner, group);
-  if (result < 0)
-    __atfct_seterrno (errno, fd, buf);
-# endif
 
   return result;
 
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c
index 9229aa4c7f..364834f1d0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,14 +26,6 @@
 
 #include <kernel-features.h>
 
-#if defined __NR_pread || __ASSUME_PREAD_SYSCALL > 0
-
-# if __ASSUME_PREAD_SYSCALL == 0
-static ssize_t __emulate_pread (int fd, void *buf, size_t count,
-				off_t offset) internal_function;
-# endif
-
-
 ssize_t
 __libc_pread (fd, buf, count, offset)
      int fd;
@@ -49,11 +40,6 @@ __libc_pread (fd, buf, count, offset)
       /* On PPC32 64bit values are aligned in odd/even register pairs.  */
       result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
 			       0, offset >> 31, offset);
-# if __ASSUME_PREAD_SYSCALL == 0
-      if (result == -1 && errno == ENOSYS)
-	/* No system call available.  Use the emulation.  */
-	result = __emulate_pread (fd, buf, count, offset);
-# endif
 
       return result;
     }
@@ -63,11 +49,6 @@ __libc_pread (fd, buf, count, offset)
   /* On PPC32 64bit values are aligned in odd/even register pairs.  */
   result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
 			       0, offset >> 31, offset);
-# if __ASSUME_PREAD_SYSCALL == 0
-  if (result == -1 && errno == ENOSYS)
-    /* No system call available.  Use the emulation.  */
-    result = __emulate_pread (fd, buf, count, offset);
-# endif
 
   LIBC_CANCEL_RESET (oldtype);
 
@@ -76,11 +57,3 @@ __libc_pread (fd, buf, count, offset)
 
 strong_alias (__libc_pread, __pread)
 weak_alias (__libc_pread, pread)
-
-# define __libc_pread(fd, buf, count, offset) \
-     static internal_function __emulate_pread (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PREAD_SYSCALL == 0
-# include <sysdeps/posix/pread.c>
-#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c
index 21c1f7b95c..5b1445ff23 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,13 +25,6 @@
 
 #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
-
 
 ssize_t
 __libc_pread64 (fd, buf, count, offset)
@@ -49,11 +41,6 @@ __libc_pread64 (fd, buf, count, offset)
       result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), 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;
     }
@@ -64,11 +51,6 @@ __libc_pread64 (fd, buf, count, offset)
   result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), 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);
 
@@ -77,11 +59,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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c
index bf0e3414c2..ed1878bc5e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,13 +26,6 @@
 
 #include <kernel-features.h>
 
-#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)
@@ -49,11 +41,6 @@ __libc_pwrite (fd, buf, count, offset)
       /* On PPC32 64bit values are aligned in odd/even register pairs.  */
       result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
 			       0, offset >> 31, offset);
-# 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;
     }
@@ -63,11 +50,6 @@ __libc_pwrite (fd, buf, count, offset)
   /* On PPC32 64bit values are aligned in odd/even register pairs.  */
   result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
 			   0, offset >> 31, offset);
-# 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);
 
@@ -76,11 +58,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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c
index 0162d88395..dedeb7e97d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,13 +25,6 @@
 
 #include <kernel-features.h>
 
-#if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
-
-# if __ASSUME_PWRITE_SYSCALL == 0
-static ssize_t __emulate_pwrite64 (int fd, const void *buf, size_t count,
-				   off64_t offset) internal_function;
-# endif
-
 
 ssize_t
 __libc_pwrite64 (fd, buf, count, offset)
@@ -49,11 +41,6 @@ __libc_pwrite64 (fd, buf, count, offset)
       result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
 			       0, (long) (offset >> 32),
 			       (long) offset);
-# if __ASSUME_PWRITE_SYSCALL == 0
-      if (result == -1 && errno == ENOSYS)
-	/* No system call available.  Use the emulation.  */
-	result = __emulate_pwrite64 (fd, buf, count, offset);
-# endif
 
       return result;
     }
@@ -64,11 +51,6 @@ __libc_pwrite64 (fd, buf, count, offset)
   result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
 			   0, (long) (offset >> 32),
 			   (long) offset);
-# if __ASSUME_PWRITE_SYSCALL == 0
-  if (result == -1 && errno == ENOSYS)
-    /* No system call available.  Use the emulation.  */
-    result = __emulate_pwrite64 (fd, buf, count, offset);
-# endif
 
   LIBC_CANCEL_RESET (oldtype);
 
@@ -78,11 +60,3 @@ __libc_pwrite64 (fd, buf, count, offset)
 weak_alias (__libc_pwrite64, __pwrite64)
 libc_hidden_weak (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
-
-# define __libc_pwrite64(fd, buf, count, offset) \
-     static internal_function __emulate_pwrite64 (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PWRITE_SYSCALL == 0
-# include <sysdeps/posix/pwrite64.c>
-#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c
index 6b8f3ea4f1..e06de3bfe4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,13 +26,6 @@
 
 #include <kernel-features.h>
 
-#if defined __NR_pread || __ASSUME_PREAD_SYSCALL > 0
-
-# if __ASSUME_PREAD_SYSCALL == 0
-static ssize_t __emulate_pread (int fd, void *buf, size_t count,
-				off_t offset) internal_function;
-# endif
-
 
 ssize_t
 __libc_pread (fd, buf, count, offset)
@@ -48,11 +40,6 @@ __libc_pread (fd, buf, count, offset)
     {
       result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
                                 offset);
-# if __ASSUME_PREAD_SYSCALL == 0
-      if (result == -1 && errno == ENOSYS)
-	/* No system call available.  Use the emulation.  */
-	result = __emulate_pread (fd, buf, count, offset);
-# endif
 
       return result;
     }
@@ -61,11 +48,6 @@ __libc_pread (fd, buf, count, offset)
 
   result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
                             offset);
-# if __ASSUME_PREAD_SYSCALL == 0
-  if (result == -1 && errno == ENOSYS)
-    /* No system call available.  Use the emulation.  */
-    result = __emulate_pread (fd, buf, count, offset);
-# endif
 
   LIBC_CANCEL_RESET (oldtype);
 
@@ -74,11 +56,3 @@ __libc_pread (fd, buf, count, offset)
 
 strong_alias (__libc_pread, __pread)
 weak_alias (__libc_pread, pread)
-
-# define __libc_pread(fd, buf, count, offset) \
-     static internal_function __emulate_pread (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PREAD_SYSCALL == 0
-# include <sysdeps/posix/pread.c>
-#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c
index 0933806b07..80c2d2c8a3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,13 +25,6 @@
 
 #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
-
 
 ssize_t
 __libc_pread64 (fd, buf, count, offset)
@@ -47,11 +39,6 @@ __libc_pread64 (fd, buf, count, offset)
     {
       result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
                                 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;
     }
@@ -60,11 +47,6 @@ __libc_pread64 (fd, buf, count, offset)
 
    result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
                             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);
 
@@ -73,11 +55,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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c
index b956b48ba0..57458b43c5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,13 +26,6 @@
 
 #include <kernel-features.h>
 
-#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)
@@ -48,11 +40,6 @@ __libc_pwrite (fd, buf, count, offset)
     {
       result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
                               offset);
-# 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;
     }
@@ -61,11 +48,6 @@ __libc_pwrite (fd, buf, count, offset)
 
   result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
 			                     offset);
-# 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);
 
@@ -74,11 +56,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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c
index ec9bba53cb..75344dfd26 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2002,2003,2006
-	Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,13 +25,6 @@
 
 #include <kernel-features.h>
 
-#if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
-
-# if __ASSUME_PWRITE_SYSCALL == 0
-static ssize_t __emulate_pwrite64 (int fd, const void *buf, size_t count,
-				   off64_t offset) internal_function;
-# endif
-
 
 ssize_t
 __libc_pwrite64 (fd, buf, count, offset)
@@ -47,11 +39,6 @@ __libc_pwrite64 (fd, buf, count, offset)
     {
       result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
                                 offset);
-# if __ASSUME_PWRITE_SYSCALL == 0
-      if (result == -1 && errno == ENOSYS)
-	/* No system call available.  Use the emulation.  */
-	result = __emulate_pwrite64 (fd, buf, count, offset);
-# endif
 
       return result;
     }
@@ -60,11 +47,6 @@ __libc_pwrite64 (fd, buf, count, offset)
 
   result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
                             offset);
-# if __ASSUME_PWRITE_SYSCALL == 0
-  if (result == -1 && errno == ENOSYS)
-    /* No system call available.  Use the emulation.  */
-    result = __emulate_pwrite64 (fd, buf, count, offset);
-# endif
 
   LIBC_CANCEL_RESET (oldtype);
 
@@ -74,11 +56,3 @@ __libc_pwrite64 (fd, buf, count, offset)
 weak_alias (__libc_pwrite64, __pwrite64)
 libc_hidden_weak (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
-
-# define __libc_pwrite64(fd, buf, count, offset) \
-     static internal_function __emulate_pwrite64 (fd, buf, count, offset)
-#endif
-
-#if __ASSUME_PWRITE_SYSCALL == 0
-# include <sysdeps/posix/pwrite64.c>
-#endif