Move powerpc64 pread/pwrite definitions to syscalls.list (bug 14138)

Message ID Pine.LNX.4.64.1410282259290.12166@digraph.polyomino.org.uk
State Committed
Headers

Commit Message

Joseph Myers Oct. 28, 2014, 11 p.m. UTC
  Concluding the move of syscall definitions to syscalls.list, where the
removal of support for old kernel versions has made this possible,
this patch removes C definitions of pread, pread64, pwrite and
pwrite64 for powerpc64.  As far as I can tell, the existing
syscalls.list definitions in
sysdeps/unix/sysv/linux/wordsize-64/syscalls.list should suffice to
produce results equivalent to what these C files do.

Untested; needs powerpc64 testing/review.

2014-10-28  Joseph Myers  <joseph@codesourcery.com>

	[BZ #14138]
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: Remove file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: Likewise.
  

Comments

Adhemerval Zanella Netto Oct. 31, 2014, 8:15 p.m. UTC | #1
No regressions found in powerpc64 and patch looks ok, thanks.


On 28-10-2014 21:00, Joseph S. Myers wrote:
> Concluding the move of syscall definitions to syscalls.list, where the
> removal of support for old kernel versions has made this possible,
> this patch removes C definitions of pread, pread64, pwrite and
> pwrite64 for powerpc64.  As far as I can tell, the existing
> syscalls.list definitions in
> sysdeps/unix/sysv/linux/wordsize-64/syscalls.list should suffice to
> produce results equivalent to what these C files do.
>
> Untested; needs powerpc64 testing/review.
>
> 2014-10-28  Joseph Myers  <joseph@codesourcery.com>
>
> 	[BZ #14138]
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: Remove file.
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: Likewise.
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: Likewise.
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: Likewise.
>
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c
> deleted file mode 100644
> index d85ab90..0000000
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -/* 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.
> -
> -   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, see
> -   <http://www.gnu.org/licenses/>.  */
> -
> -#include <assert.h>
> -#include <errno.h>
> -#include <unistd.h>
> -
> -#include <sysdep-cancel.h>
> -#include <sys/syscall.h>
> -
> -
> -/* Consider moving to syscalls.list.  */
> -
> -ssize_t
> -__libc_pread (fd, buf, count, offset)
> -     int fd;
> -     void *buf;
> -     size_t count;
> -     off_t offset;
> -{
> -  ssize_t result;
> -
> -  if (SINGLE_THREAD_P)
> -    {
> -      result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
> -
> -      return result;
> -    }
> -
> -  int oldtype = LIBC_CANCEL_ASYNC ();
> -
> -  result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
> -
> -  LIBC_CANCEL_RESET (oldtype);
> -
> -  return result;
> -}
> -
> -strong_alias (__libc_pread, __pread)
> -weak_alias (__libc_pread, pread)
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c
> deleted file mode 100644
> index 5bdeada..0000000
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -/* 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.
> -
> -   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, see
> -   <http://www.gnu.org/licenses/>.  */
> -
> -#include <errno.h>
> -#include <unistd.h>
> -
> -#include <sysdep-cancel.h>
> -#include <sys/syscall.h>
> -
> -
> -/* Consider moving to syscalls.list.  */
> -
> -ssize_t
> -__libc_pread64 (fd, buf, count, offset)
> -     int fd;
> -     void *buf;
> -     size_t count;
> -     off64_t offset;
> -{
> -  ssize_t result;
> -
> -  if (SINGLE_THREAD_P)
> -    {
> -      result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
> -
> -      return result;
> -    }
> -
> -  int oldtype = LIBC_CANCEL_ASYNC ();
> -
> -   result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
> -
> -  LIBC_CANCEL_RESET (oldtype);
> -
> -  return result;
> -}
> -
> -weak_alias (__libc_pread64, __pread64)
> -weak_alias (__libc_pread64, pread64)
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c
> deleted file mode 100644
> index 7577d2e..0000000
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -/* 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.
> -
> -   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, see
> -   <http://www.gnu.org/licenses/>.  */
> -
> -#include <assert.h>
> -#include <errno.h>
> -#include <unistd.h>
> -
> -#include <sysdep-cancel.h>
> -#include <sys/syscall.h>
> -
> -
> -/* Consider moving to syscalls.list.  */
> -
> -ssize_t
> -__libc_pwrite (fd, buf, count, offset)
> -     int fd;
> -     const void *buf;
> -     size_t count;
> -     off_t offset;
> -{
> -  ssize_t result;
> -
> -  if (SINGLE_THREAD_P)
> -    {
> -      result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
> -
> -      return result;
> -    }
> -
> -  int oldtype = LIBC_CANCEL_ASYNC ();
> -
> -  result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
> -
> -  LIBC_CANCEL_RESET (oldtype);
> -
> -  return result;
> -}
> -
> -strong_alias (__libc_pwrite, __pwrite)
> -weak_alias (__libc_pwrite, pwrite)
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c
> deleted file mode 100644
> index 26ea65a..0000000
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -/* 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.
> -
> -   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, see
> -   <http://www.gnu.org/licenses/>.  */
> -
> -#include <errno.h>
> -#include <unistd.h>
> -
> -#include <sysdep-cancel.h>
> -#include <sys/syscall.h>
> -
> -
> -/* Consider moving to syscalls.list.  */
> -
> -ssize_t
> -__libc_pwrite64 (fd, buf, count, offset)
> -     int fd;
> -     const void *buf;
> -     size_t count;
> -     off64_t offset;
> -{
> -  ssize_t result;
> -
> -  if (SINGLE_THREAD_P)
> -    {
> -      result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
> -
> -      return result;
> -    }
> -
> -  int oldtype = LIBC_CANCEL_ASYNC ();
> -
> -  result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
> -
> -  LIBC_CANCEL_RESET (oldtype);
> -
> -  return result;
> -}
> -
> -weak_alias (__libc_pwrite64, __pwrite64)
> -libc_hidden_weak (__pwrite64)
> -weak_alias (__libc_pwrite64, pwrite64)
>
  

Patch

diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c
deleted file mode 100644
index d85ab90..0000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c
+++ /dev/null
@@ -1,55 +0,0 @@ 
-/* 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.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <assert.h>
-#include <errno.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-
-/* Consider moving to syscalls.list.  */
-
-ssize_t
-__libc_pread (fd, buf, count, offset)
-     int fd;
-     void *buf;
-     size_t count;
-     off_t offset;
-{
-  ssize_t result;
-
-  if (SINGLE_THREAD_P)
-    {
-      result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
-
-      return result;
-    }
-
-  int oldtype = LIBC_CANCEL_ASYNC ();
-
-  result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
-
-  LIBC_CANCEL_RESET (oldtype);
-
-  return result;
-}
-
-strong_alias (__libc_pread, __pread)
-weak_alias (__libc_pread, pread)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c
deleted file mode 100644
index 5bdeada..0000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c
+++ /dev/null
@@ -1,54 +0,0 @@ 
-/* 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.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-
-/* Consider moving to syscalls.list.  */
-
-ssize_t
-__libc_pread64 (fd, buf, count, offset)
-     int fd;
-     void *buf;
-     size_t count;
-     off64_t offset;
-{
-  ssize_t result;
-
-  if (SINGLE_THREAD_P)
-    {
-      result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
-
-      return result;
-    }
-
-  int oldtype = LIBC_CANCEL_ASYNC ();
-
-   result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
-
-  LIBC_CANCEL_RESET (oldtype);
-
-  return result;
-}
-
-weak_alias (__libc_pread64, __pread64)
-weak_alias (__libc_pread64, pread64)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c
deleted file mode 100644
index 7577d2e..0000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c
+++ /dev/null
@@ -1,55 +0,0 @@ 
-/* 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.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <assert.h>
-#include <errno.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-
-/* Consider moving to syscalls.list.  */
-
-ssize_t
-__libc_pwrite (fd, buf, count, offset)
-     int fd;
-     const void *buf;
-     size_t count;
-     off_t offset;
-{
-  ssize_t result;
-
-  if (SINGLE_THREAD_P)
-    {
-      result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
-
-      return result;
-    }
-
-  int oldtype = LIBC_CANCEL_ASYNC ();
-
-  result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
-
-  LIBC_CANCEL_RESET (oldtype);
-
-  return result;
-}
-
-strong_alias (__libc_pwrite, __pwrite)
-weak_alias (__libc_pwrite, pwrite)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c
deleted file mode 100644
index 26ea65a..0000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c
+++ /dev/null
@@ -1,55 +0,0 @@ 
-/* 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.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-
-/* Consider moving to syscalls.list.  */
-
-ssize_t
-__libc_pwrite64 (fd, buf, count, offset)
-     int fd;
-     const void *buf;
-     size_t count;
-     off64_t offset;
-{
-  ssize_t result;
-
-  if (SINGLE_THREAD_P)
-    {
-      result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
-
-      return result;
-    }
-
-  int oldtype = LIBC_CANCEL_ASYNC ();
-
-  result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
-
-  LIBC_CANCEL_RESET (oldtype);
-
-  return result;
-}
-
-weak_alias (__libc_pwrite64, __pwrite64)
-libc_hidden_weak (__pwrite64)
-weak_alias (__libc_pwrite64, pwrite64)