From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 95475 invoked by alias); 20 Sep 2016 21:36:21 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 95452 invoked by uid 89); 20 Sep 2016 21:36:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=sk:__SYSCA, __VA_ARGS__, __va_args__, sk:__sysca X-HELO: albireo.enyo.de From: Florian Weimer To: Adhemerval Zanella Cc: libc-alpha@sourceware.org Subject: Re: [PATCH 1/4] Add INTERNAL_SYSCALL_CALL References: <1474383714-15187-1-git-send-email-adhemerval.zanella@linaro.org> <1474383714-15187-2-git-send-email-adhemerval.zanella@linaro.org> Date: Tue, 20 Sep 2016 21:36:00 -0000 In-Reply-To: <1474383714-15187-2-git-send-email-adhemerval.zanella@linaro.org> (Adhemerval Zanella's message of "Tue, 20 Sep 2016 12:01:51 -0300") Message-ID: <87h99amey7.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SW-Source: 2016-09/txt/msg00361.txt.bz2 * Adhemerval Zanella: > +#define __INTERNAL_SYSCALL0(name, err) \ > + INTERNAL_SYSCALL (name, err, 0) > +#define __INTERNAL_SYSCALL1(name, err, a1) \ > + INTERNAL_SYSCALL (name, err, 1, a1) > +#define __INTERNAL_SYSCALL2(name, err, a1, a2) \ > + INTERNAL_SYSCALL (name, err, 2, a1, a2) > +#define __INTERNAL_SYSCALL3(name, err, a1, a2, a3) \ > + INTERNAL_SYSCALL (name, err, 3, a1, a2, a3) > +#define __INTERNAL_SYSCALL4(name, err, a1, a2, a3, a4) \ > + INTERNAL_SYSCALL (name, err, 4, a1, a2, a3, a4) > +#define __INTERNAL_SYSCALL5(name, err, a1, a2, a3, a4, a5) \ > + INTERNAL_SYSCALL (name, err, 5, a1, a2, a3, a4, a5) > +#define __INTERNAL_SYSCALL6(name, err, a1, a2, a3, a4, a5, a6) \ > + INTERNAL_SYSCALL (name, err, 6, a1, a2, a3, a4, a5, a6) > +#define __INTERNAL_SYSCALL7(name, err, a1, a2, a3, a4, a5, a6, a7) \ > + INTERNAL_SYSCALL (name, err, 7, a1, a2, a3, a4, a5, a6, a7) It's not immediately obvious why these definitions are needed. > +#define __INTERNAL_SYSCALL_NARGS_X(a, b, c, d, e, f, g, h, n, ...) n > +#define __INTERNAL_SYSCALL_NARGS(...) \ > + __INTERNAL_SYSCALL_NARGS_X (__VA_ARGS__, 7, 6, 5, 4, 3, 2, 1, 0, ) > +#define __INTERNAL_SYSCALL_CONCAT_X(a, b) a##b > +#define __INTERNAL_SYSCALL_CONCAT(a, b) __SYSCALL_CONCAT_X (a, b) I think you can reuse the macros from sysdeps/unix/sysdep.h here. > +/* Issue a syscall defined by syscall number plus any other argument req= uired. These comment lines are rather long. > + Any error will be handled using arch defined macros and errno will be= se > + accordingly. =E2=80=9Cwill be set=E2=80=9D