From patchwork Tue Oct 7 22:34:39 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 3126 Received: (qmail 24398 invoked by alias); 7 Oct 2014 22:34:47 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 24386 invoked by uid 89); 7 Oct 2014 22:34:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Date: Tue, 7 Oct 2014 22:34:39 +0000 From: "Joseph S. Myers" To: Subject: Move readv and writev definitions to syscalls.list (bug 14138) Message-ID: MIME-Version: 1.0 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 (and the __libc_* names are mentioned in CANCEL-FCT-WAIVE, so we'd need to work out what to do with that - remove it, I suspect). Tested for x86_64. 2014-10-07 Joseph Myers [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. diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list index 4620582..11fe384 100644 --- a/sysdeps/unix/syscalls.list +++ b/sysdeps/unix/syscalls.list @@ -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 index a977d17..0000000 --- a/sysdeps/unix/sysv/linux/readv.c +++ /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 - . */ - -#include -#include -#include -#include - -#include -#include - -/* 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 index f19221f..0000000 --- a/sysdeps/unix/sysv/linux/writev.c +++ /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 - . */ - -#include -#include -#include -#include - -#include -#include - - -/* 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)