From patchwork Fri May 12 17:58:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 99713 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp430967qge; Fri, 12 May 2017 10:58:54 -0700 (PDT) X-Received: by 10.99.8.2 with SMTP id 2mr5763287pgi.18.1494611934185; Fri, 12 May 2017 10:58:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1494611934; cv=none; d=google.com; s=arc-20160816; b=u246HAN9UWY63RYtHX/oA2tthQK0+vpAQ1Ps5OBNsKYK+o4UFnQi2IefMzsqU7UuAD H6kVL5aEWZM3+6uFRR4NSmVDpRmO3miw1rENM7caa4KT9MdV2a70NWPS/6LWVJW1dai+ akngqd8+MNG0/JkEfLPlQP3Wuedx2/0lcEwo+Qn6fIJuza0DWlloLmtd8Vd1VE7A9WBf ViTexlTLsj5tAWuLFUHw9LIdyaQ01f31RF7oSVCvgp1yGXu8E+iJb9cyjM46oU62Obf9 EFV1mHpdftOlSXa9bJ+I9dAuZ4dBRqLX1OXu/Arct+H/dxnXQpIa0Y6Bo/KSlP8aHOln LSkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:to:from:delivered-to :sender:list-help:list-post:list-archive:list-subscribe :list-unsubscribe:list-id:precedence:mailing-list:dkim-signature :domainkey-signature:arc-authentication-results; bh=iHoprd1Rce4dh2suAkBhId/VIwjCL1AhDo7E6NLGMqA=; b=lRTZ9lnRHNKICPuEtD4oQOtlYPjC+f2JGTQ5Mcq56nr2XMOycWfyeRO4N68IdvIIm/ DyL76OqabgvQhk0rg2mRl35TZcMNSWUMwU95FLQuiYq0XWw42mkUJmQP7vIgd5wyrDWX aR63C3IKikYKbmKwNT7Blh3r5b6zqXRf/1OzdtuknxvpUFh2VYSb+Lg+tyP+yncVakcd byd/ad03SbDUaP955amh/31COIr9LSysMIK4a9E6XrfU/T/JkT6r1vLe17J9D6c6y+f8 PIyl/zU6dqiBgmDjwiK5BEgBpdPJaz5hrtf2k0VGskHHN2HGBUb2SHyls3KGJlKMgxFI Mlrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org; spf=pass (google.com: domain of libc-alpha-return-79376-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-79376-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id o1si3983429pfg.277.2017.05.12.10.58.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 May 2017 10:58:54 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-return-79376-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org; spf=pass (google.com: domain of libc-alpha-return-79376-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-79376-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references; q=dns; s=default; b=RdrNCfQFcgQ+Z9fLNFOtEuq8n0wwiA6 Va1+EaDp9o9MHmTmtm67cpKLSZrXek2SZjYVvlaun7MmysjlPixktfS0CuUKva8v Ij+a5ifvMZwABwArWraedhx9KdyWVSLo0kvQ607AnTs0y1NI0OG+uzlOOLX8t+RI Ofm2frY+kbdc= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references; s=default; bh=x2Ikgutl8bnFvAGZSpcEKjSlrtQ=; b=booc4 FzGs8MauZqYZwtV4o3gLdKVtLsiHqN+eCV5XPNiY1a6LWqI0jDx6KmNeiLSGi+3Y 7OgbWEbXh+NDlLvRDeQyuukHBfsNiAxUpuxMrHic5eoKJ/tIHgenlyW20UQaqAQq XDmHY4Tjm/PhpN2lAyhK26zd9l7yaCYwqiy4Gs= Received: (qmail 39043 invoked by alias); 12 May 2017 17:58:27 -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 37805 invoked by uid 89); 12 May 2017 17:58:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-qk0-f180.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=iHoprd1Rce4dh2suAkBhId/VIwjCL1AhDo7E6NLGMqA=; b=gjF1QQjY1bQMyv27Z4nSIRHK4D7e0An1RsNz9vH7sxyUAc0Y6CP4hFjFhE+9ik2kRE nN6LO/uIgM2OU7sYK8T2Gp/CbbpsANUN6GzUqDTBoanuc4RK4ZL2rIh0Dba6r/PkMcpm UPqR/GqoIoPQTx8t4n1fYsO7P++TSIeLG06JMSCFev7xAcqzpaV5Y4tRBKbvYUkZaHWB RVzyCkd2YRSjZ+ZnRJhzcwcl42yqrSGKRBhWGaB1VGeO9WfrODY4yKJngkh+INeB1DRe OmVEShi3NnQkhmn+FkY8Zz0ijQNl9PUrakWHB2TJv/MVCB5NDcThTyyyKz8CYWV8iahH ePTw== X-Gm-Message-State: AODbwcBpKSjvJtsv7dWcTtBDLUJodabpgLRx7sJKaVRnJXpAaCS4vohX SkpMjNx3re3te/hzdTPQ+g== X-Received: by 10.55.4.4 with SMTP id 4mr4532329qke.253.1494611905223; Fri, 12 May 2017 10:58:25 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 04/13] linux: Consolidate Linux tee implementation Date: Fri, 12 May 2017 14:58:05 -0300 Message-Id: <1494611894-9282-4-git-send-email-adhemerval.zanella@linaro.org> In-Reply-To: <1494611894-9282-1-git-send-email-adhemerval.zanella@linaro.org> References: <1494611894-9282-1-git-send-email-adhemerval.zanella@linaro.org> This patch consolidates the tee Linux syscall generation on sysdeps/unix/sysv/linux/tee.c. It basically removes it from architectures auto-generation list. Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32, arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu, sparc64-linux-gnu, and sparcv9-linux-gnu. * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add tee. * sysdeps/unix/sysv/linux/syscalls.list: Remove tee from auto-generated list. * sysdeps/unix/sysv/linux/tee.c: New file. --- ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/Makefile | 2 +- sysdeps/unix/sysv/linux/syscalls.list | 1 - sysdeps/unix/sysv/linux/tee.c | 26 ++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/tee.c -- 2.7.4 diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index ad477f5..acdd04c 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -17,7 +17,7 @@ include $(firstword $(wildcard $(sysdirs:=/sysctl.mk))) sysdep_routines += clone umount umount2 readahead \ setfsuid setfsgid epoll_pwait signalfd \ eventfd eventfd_read eventfd_write prlimit \ - personality epoll_wait + personality epoll_wait tee CFLAGS-gethostid.c = -fexceptions CFLAGS-tst-writev.c += "-DARTIFICIAL_LIMIT=(0x80000000-sysconf(_SC_PAGESIZE))" diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 7fca6f8..ae99acd 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -70,7 +70,6 @@ stime - stime i:p stime sysinfo EXTRA sysinfo i:p __sysinfo sysinfo swapon - swapon i:si __swapon swapon swapoff - swapoff i:s __swapoff swapoff -tee EXTRA tee Ci:iiii tee unshare EXTRA unshare i:i unshare uselib EXTRA uselib i:s __compat_uselib uselib@GLIBC_2.0:GLIBC_2.23 utime - utime i:sP utime diff --git a/sysdeps/unix/sysv/linux/tee.c b/sysdeps/unix/sysv/linux/tee.c new file mode 100644 index 0000000..3d503fb --- /dev/null +++ b/sysdeps/unix/sysv/linux/tee.c @@ -0,0 +1,26 @@ +/* Linux duplicating pipe content implementation. + Copyright (C) 2017 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 + +ssize_t +tee (int src, int dest, size_t len, unsigned int flags) +{ + return SYSCALL_CANCEL (tee, src, dest, len, flags); +}