From patchwork Fri Jun 14 15:29:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 166834 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp2201838ilk; Fri, 14 Jun 2019 08:30:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqxSwzVSyU7g+2d9TSOlVGJBgtKwE6nzZMLTM5KM01cV5zvSGwhNXWU4vtMhMbhH75vWrB9q X-Received: by 2002:a62:1990:: with SMTP id 138mr99684587pfz.133.1560526225678; Fri, 14 Jun 2019 08:30:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560526225; cv=none; d=google.com; s=arc-20160816; b=DqffEuEEQJ33CUd18tBcuZW9W/mvVIxXgwaq5FROiB/OCI/sSfaZ5r7Oc305sNMLxP Zkwm08o6pxNdmqZZa5VkM/mZVTuwFUoOrFulOGERNWOoKQgp83tdvzRqDDZygIm2FCXn kNWOwb6Oem3PP4KLjZDOSUPBS4n9VRpKfV7+g8dQ32e1aizRVk6q0GFd1vuTR9yEr1aU WDsB+xRUU8Y1hQfBxl+Zs71YRbdIOME9+yScOpUjCqefTUJD+oB9TieK3HJM9SQZL3+h GDmV9vzm545Sr9dXBUM7BXsAOXCq/DF6jG2Q5zU+sAYdd385IRh+yHm/2riBArfNutH8 IqSQ== 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 :dkim-signature:delivered-to:sender:list-help:list-post:list-archive :list-subscribe:list-unsubscribe:list-id:precedence:mailing-list :dkim-signature:domainkey-signature; bh=gwUlLK9DTxZpgKw8a8M/qTuEBhoxxCH3anBUMULq41c=; b=zARGjR4Ew6K8qaqBjHKjIjpOwWnoiiPwWOCx1fLYlhJMo6Psy0nxB5f79Kr5LDhUtR oh6qYPyCZMWTitacYtz44JGotpcxHGXQcdXppzoCNNZm8nKxfs7oVQo3uVJqggMuAnSe A72QVWS0recqnPgWEqRnrTwo82D+w5C7qh6Kd5llMkl+AjR00nFDsrTd7B+rEirmH2ko UwQQmNfgyO0XGj3d2riYNOjT+VzX3bf+a1oRwND29Df2IffBQ0VkldLkAYleyyXUibvx D2ao8TBCGO1KmGJI7sR+RzyIF7PQB52aHTCn3hs7RVBPwAiv7Ib2p3WmoIOLJhAUVFwu dIrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=DoADijhI; dkim=pass header.i=@linaro.org header.s=google header.b=cTIxc5Y7; spf=pass (google.com: domain of libc-alpha-return-102740-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-102740-patch=linaro.org@sourceware.org"; dmarc=pass (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 a129si2846715pfa.200.2019.06.14.08.30.25 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jun 2019 08:30:25 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-return-102740-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 header.s=default header.b=DoADijhI; dkim=pass header.i=@linaro.org header.s=google header.b=cTIxc5Y7; spf=pass (google.com: domain of libc-alpha-return-102740-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-102740-patch=linaro.org@sourceware.org"; dmarc=pass (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=G0/yX96luRoFlDh8daJGJqqvjN9LrvZ UmUsLr0WVks09ZfuwzNZ42OdzE+m/t7mJV8cavl/dBEpAxpE0FfzrWMSmrTwZZ82 NK7tPdCOxHdfdDxaDzvypxdDdzZptQ0fi2ieGhlwozpjsmQXQMI+l+gxvMdpwaxO juq2Dv6plDkI= 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=pQspx06S0kWLVMl73gnYpOIwKe4=; b=DoADi jhItYj7SCO1cZkP27wNQW+bSM+D0HEPSCigxsvVDb04ESibU846DniGFGBbZ1tqB sNFgAdRjEtzKjxiElrWCjj9rUG29P6xowIJuUDkLnJ6heRKdcpBVnqFbfo71lX1w ALw929LQg03uiG56LEPtZ7UzgULQvjAFPUrtAU= Received: (qmail 117722 invoked by alias); 14 Jun 2019 15:29:26 -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 117666 invoked by uid 89); 14 Jun 2019 15:29:25 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=Consolidate, emulate, $25, H*RU:209.85.221.195 X-HELO: mail-vk1-f195.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references; bh=gwUlLK9DTxZpgKw8a8M/qTuEBhoxxCH3anBUMULq41c=; b=cTIxc5Y7seKEDKWjLwtGzaWAePFHrb5qQG93dcNaK6R9P5r8QFG7cypGRYdUQWYqsV yAd3r0FMNDoh17ckDfZbddmrpn3Z93emcIEstDi+a/y8OOs5tjmCKhyCEuUb7rx/oC4k PACEKUQNLiAuu8gdRehtp5+Ycf2mUsqOO2l1Zu5zT4vOPVV1oWCX7ONR7LO8D9eqWU+1 hC/zrLjaakJYud7zcn1JJ1W7pKPPHsXxruA3tBAqrPFGKDry83Uj1EvhVtbcvqheys9j PaBJd4PU5B5B101Oha3uCq/H6C2HVZPKIAlJnpDPanDQtGQ0I/opQ4+ZfR9A91s3aBfE wDxg== Return-Path: From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 09/12] mips: Consolidate INTERNAL_VSYSCALL_CALL Date: Fri, 14 Jun 2019 12:29:05 -0300 Message-Id: <20190614152908.8101-9-adhemerval.zanella@linaro.org> In-Reply-To: <20190614152908.8101-1-adhemerval.zanella@linaro.org> References: <20190614152908.8101-1-adhemerval.zanella@linaro.org> This patch consolidates the mips, mips64, and mips64-n32 INTERNAL_VSYSCALL_CALL on a single implementation. No semantic changes. I checked against a build for mips-linux-gnu, mips64-linux-gnu, and mips64-n32-linux-gnu. * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (INTERNAL_VSYSCALL_CALL): Remove. * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (INTERNAL_VSYSCALL_CALL): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (INTERNAL_VSYSCALL_CALL): Likewise. * sysdeps/unix/sysv/linux/mips/sysdep.h (INTERNAL_VSYSCALL_CALL): New macro. --- sysdeps/unix/sysv/linux/mips/mips32/sysdep.h | 12 ------------ sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h | 12 ------------ sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h | 12 ------------ sysdeps/unix/sysv/linux/mips/sysdep.h | 16 ++++++++++++++++ 4 files changed, 16 insertions(+), 36 deletions(-) -- 2.17.1 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h index ebe397b701..bfcb916f15 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h @@ -349,18 +349,6 @@ libc_hidden_proto (__mips_syscall7, nomips16) #define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \ "$14", "$15", "$24", "$25", "hi", "lo", "memory" -/* Standard MIPS syscalls have an error flag, and return a positive errno - when the error flag is set. Emulate this behaviour for vsyscalls so that - the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */ -#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \ - ({ \ - long _ret = funcptr (args); \ - err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \ - if (err) \ - _ret = -_ret; \ - _ret; \ - }) - #endif /* __ASSEMBLER__ */ /* Pointer mangling is not yet supported for MIPS. */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h index bb49429c30..49e94a1706 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h @@ -297,18 +297,6 @@ #define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \ "$14", "$15", "$24", "$25", "hi", "lo", "memory" -/* Standard MIPS syscalls have an error flag, and return a positive errno - when the error flag is set. Emulate this behaviour for vsyscalls so that - the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */ -#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \ - ({ \ - long _ret = funcptr (args); \ - err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \ - if (err) \ - _ret = -_ret; \ - _ret; \ - }) - #endif /* __ASSEMBLER__ */ /* Pointer mangling is not yet supported for MIPS. */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h index 84a1ff186b..5911a62e5b 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h @@ -293,18 +293,6 @@ #define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \ "$14", "$15", "$24", "$25", "hi", "lo", "memory" -/* Standard MIPS syscalls have an error flag, and return a positive errno - when the error flag is set. Emulate this behaviour for vsyscalls so that - the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */ -#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \ - ({ \ - long _ret = funcptr (args); \ - err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \ - if (err) \ - _ret = -_ret; \ - _ret; \ - }) - #endif /* __ASSEMBLER__ */ /* Pointer mangling is not yet supported for MIPS. */ diff --git a/sysdeps/unix/sysv/linux/mips/sysdep.h b/sysdeps/unix/sysv/linux/mips/sysdep.h index 58a7244581..77b1f9c2fb 100644 --- a/sysdeps/unix/sysv/linux/mips/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/sysdep.h @@ -22,3 +22,19 @@ /* List of system calls which are supported as vsyscalls. */ #define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_gettimeofday" #define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_clock_gettime" + +#ifndef __ASSEMBLER__ + +/* Standard MIPS syscalls have an error flag, and return a positive errno + when the error flag is set. Emulate this behaviour for vsyscalls so that + the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */ +#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \ + ({ \ + long _ret = funcptr (args); \ + err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \ + if (err) \ + _ret = -_ret; \ + _ret; \ + }) + +#endif /* __ASSEMBLER__ */