Move readv and writev definitions to syscalls.list (bug 14138).
authorJoseph Myers <joseph@codesourcery.com>
Mon, 20 Oct 2014 15:49:08 +0000 (15:49 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 20 Oct 2014 15:49:08 +0000 (15:49 +0000)
Continuing the move of syscall definitions to syscalls.list, where the
removal of support for old kernel versions has made this possible,
this patch moves definitions of readv and writev.

The relevant syscalls.list entries were already in
sysdeps/unix/syscalls.list, but to match the C files they needed to
have the names __libc_readv and __libc_writev added.  In fact, I don't
see anything making use of those names - as far as I can tell, these
functions could just be defined as __readv and __writev with aliases
readv and writev.  But cleaning up unnecessary aliases for functions
should be a separate matter from cleaning up unnecessary C syscall
wrappers.

Tested for x86_64.

[BZ #14138]
* sysdeps/unix/syscalls.list (readv): Use __libc_readv as strong
name.
(writev): Use __libc_writev as strong name.
* sysdeps/unix/sysv/linux/readv.c: Remove file.
* sysdeps/unix/sysv/linux/writev.c: Likewise.

ChangeLog
sysdeps/unix/syscalls.list
sysdeps/unix/sysv/linux/readv.c [deleted file]
sysdeps/unix/sysv/linux/writev.c [deleted file]

index 4886efa..19bef8a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-10-20  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #14138]
+       * sysdeps/unix/syscalls.list (readv): Use __libc_readv as strong
+       name.
+       (writev): Use __libc_writev as strong name.
+       * sysdeps/unix/sysv/linux/readv.c: Remove file.
+       * sysdeps/unix/sysv/linux/writev.c: Likewise.
+
 2014-10-17  Roland McGrath  <roland@hack.frob.com>
 
        * nptl/createthread.c (TLS_DEFINE_INIT_TP, TLS_VALUE): Macros removed.
index b3358bd..0b3c1b9 100644 (file)
@@ -52,7 +52,7 @@ profil                -       profil          i:piii  __profil        profil
 ptrace         -       ptrace          i:iiii  ptrace
 read           -       read            Ci:ibn  __libc_read     __read read
 readlink       -       readlink        i:spi   __readlink      readlink
-readv          -       readv           Ci:ipi  __readv         readv
+readv          -       readv           Ci:ipi  __libc_readv    __readv readv
 reboot         -       reboot          i:i     reboot
 recv           -       recv            Ci:ibni __libc_recv     recv
 recvfrom       -       recvfrom        Ci:ibniBN       __libc_recvfrom __recvfrom recvfrom
@@ -99,4 +99,4 @@ unlink                -       unlink          i:s     __unlink        unlink
 utimes         -       utimes          i:sp    __utimes        utimes
 vhangup                -       vhangup         i:i     vhangup
 write          -       write           Ci:ibn  __libc_write    __write write
-writev         -       writev          Ci:ipi  __writev        writev
+writev         -       writev          Ci:ipi  __libc_writev   __writev writev
diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c
deleted file mode 100644 (file)
index a977d17..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* readv supports all Linux kernels >= 2.0.
-   Copyright (C) 1997-2014 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stddef.h>
-#include <sys/param.h>
-#include <sys/uio.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-/* Consider moving to syscalls.list.  */
-
-ssize_t
-__libc_readv (fd, vector, count)
-     int fd;
-     const struct iovec *vector;
-     int count;
-{
-  ssize_t result;
-
-  if (SINGLE_THREAD_P)
-    result = INLINE_SYSCALL (readv, 3, fd, vector, count);
-  else
-    {
-      int oldtype = LIBC_CANCEL_ASYNC ();
-
-      result = INLINE_SYSCALL (readv, 3, fd, vector, count);
-
-      LIBC_CANCEL_RESET (oldtype);
-    }
-
-  return result;
-}
-strong_alias (__libc_readv, __readv)
-weak_alias (__libc_readv, readv)
diff --git a/sysdeps/unix/sysv/linux/writev.c b/sysdeps/unix/sysv/linux/writev.c
deleted file mode 100644 (file)
index f19221f..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* writev supports all Linux kernels >= 2.0.
-   Copyright (C) 1997-2014 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stddef.h>
-#include <sys/param.h>
-#include <sys/uio.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-
-/* Consider moving to syscalls.list.  */
-
-ssize_t
-__libc_writev (fd, vector, count)
-     int fd;
-     const struct iovec *vector;
-     int count;
-{
-  ssize_t result;
-
-  if (SINGLE_THREAD_P)
-    result = INLINE_SYSCALL (writev, 3, fd, vector, count);
-  else
-    {
-      int oldtype = LIBC_CANCEL_ASYNC ();
-
-      result = INLINE_SYSCALL (writev, 3, fd, vector, count);
-
-      LIBC_CANCEL_RESET (oldtype);
-    }
-
-  return result;
-}
-strong_alias (__libc_writev, __writev)
-weak_alias (__libc_writev, writev)