From patchwork Wed Apr 15 20:21:46 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 6244 Received: (qmail 58332 invoked by alias); 15 Apr 2015 20:22:25 -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 58214 invoked by uid 89); 15 Apr 2015 20:22:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qk0-f176.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:content-type:content-transfer-encoding; bh=ycHB7C8Q5KuRzwckQ3cPm+1ncjdDsDiHspzczQVt4UY=; b=OiBSU/CDv9Sd6ZRLXENviMrrKpZFDfZr2JLRiCSlDGuIPHMwqNdhdAFhvFlXZ2dHZl mlh0weT4vmT9ZvXMQ+C5xwthfP+BNJGz4/Xhe3qmvxG1Bxb+0mHZ07obuq9GiIC8puN1 m5hCuAFDVOWGZ1H+SL5WrtUdnAKDPwBV3Lxh2ULU95plG+o1gN6Pi8Pv/MrDmaWB/Oos 0o3ekxXkmLr0JABiBSgkwM9oVOPgjJTbHaXqIhlgc8hkvbkStuGj8q1l4Ckfn9lEzg1V agzJdoShfLq9u2mbOPKAxa/Xz+vYVTm89zJLl99P/JMnUbSkRumJiZ7HLM4QrjHTvMyw yPWQ== X-Gm-Message-State: ALoCoQm4HTZB/j5G4o2q09nrxVZkmsMpyDAcAd21Et47C9ETo+FImesoo/VdHhG2TcbFY5rfQP6a X-Received: by 10.140.232.3 with SMTP id d3mr35182787qhc.46.1429129310048; Wed, 15 Apr 2015 13:21:50 -0700 (PDT) Message-ID: <552EC85A.8060505@linaro.org> Date: Wed, 15 Apr 2015 17:21:46 -0300 From: Adhemerval Zanella User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: libc-alpha@sourceware.org Subject: [PATCH 1/4] Define INLINE_VSYSCALL on all ports This patch adds the INLINE_VSYSCALL definition on all remaning architectures that miss it. It redirects to INLINE_SYSCALL. --- * sysdeps/unix/sysv/linux/alpha/sysdep.h [INLINE_VSYSCALL]: Define INLINE_SYSCALL. * sysdeps/unix/sysv/linux/arm/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/nios2/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h [INLINE_VSYSCALL]: Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h [INLINE_VSYSCALL]: Likewise. --- diff --git a/sysdeps/unix/sysv/linux/alpha/sysdep.h b/sysdeps/unix/sysv/linux/alpha/sysdep.h index a95b113..422f7e4 100644 --- a/sysdeps/unix/sysv/linux/alpha/sysdep.h +++ b/sysdeps/unix/sysv/linux/alpha/sysdep.h @@ -84,6 +84,10 @@ INLINE_SYSCALL1(name, nr, args); \ }) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + #undef INTERNAL_SYSCALL #define INTERNAL_SYSCALL(name, err_out, nr, args...) \ ({ \ diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h index 37eac19..15bc357 100644 --- a/sysdeps/unix/sysv/linux/arm/sysdep.h +++ b/sysdeps/unix/sysv/linux/arm/sysdep.h @@ -328,6 +328,10 @@ __local_syscall_error: \ } \ (int) _sys_result; }) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + #undef INTERNAL_SYSCALL_DECL #define INTERNAL_SYSCALL_DECL(err) do { } while (0) diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep.h b/sysdeps/unix/sysv/linux/hppa/sysdep.h index ac47814..f7aa68e 100644 --- a/sysdeps/unix/sysv/linux/hppa/sysdep.h +++ b/sysdeps/unix/sysv/linux/hppa/sysdep.h @@ -386,6 +386,10 @@ L(pre_end): ASM_LINE_SEP \ __sys_res; \ }) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + /* INTERNAL_SYSCALL_DECL - Allows us to setup some function static value to use within the context of the syscall INTERNAL_SYSCALL_ERROR_P - Returns 0 if it wasn't an error, 1 otherwise diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep.h b/sysdeps/unix/sysv/linux/ia64/sysdep.h index 03efae9..da9b1b11 100644 --- a/sysdeps/unix/sysv/linux/ia64/sysdep.h +++ b/sysdeps/unix/sysv/linux/ia64/sysdep.h @@ -251,6 +251,10 @@ } \ _retval; }) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + #undef INTERNAL_SYSCALL_DECL #define INTERNAL_SYSCALL_DECL(err) long int err __attribute__ ((unused)) diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h index 2b88add..3760452 100644 --- a/sysdeps/unix/sysv/linux/m68k/sysdep.h +++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h @@ -266,6 +266,10 @@ SYSCALL_ERROR_LABEL: \ #undef INTERNAL_SYSCALL_ERRNO #define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + #define LOAD_ARGS_0() #define LOAD_REGS_0 #define ASM_ARGS_0 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h index e5025ba..2fa2d31 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h @@ -67,6 +67,10 @@ #undef INTERNAL_SYSCALL_ERRNO #define INTERNAL_SYSCALL_ERRNO(val, err) ((void) (err), val) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + /* Note that the original Linux syscall restart convention required the instruction immediately preceding SYSCALL to initialize $v0 with the syscall number. Then if a restart triggered, $v0 would have been diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h index ac663bc..7ccc9d3 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h @@ -69,6 +69,10 @@ #undef INTERNAL_SYSCALL_ERRNO #define INTERNAL_SYSCALL_ERRNO(val, err) ((void) (err), val) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + /* Note that the original Linux syscall restart convention required the instruction immediately preceding SYSCALL to initialize $v0 with the syscall number. Then if a restart triggered, $v0 would have been diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h index 312f210..e05ec07 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h @@ -65,6 +65,10 @@ #undef INTERNAL_SYSCALL_ERRNO #define INTERNAL_SYSCALL_ERRNO(val, err) ((void) (err), val) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + /* Note that the original Linux syscall restart convention required the instruction immediately preceding SYSCALL to initialize $v0 with the syscall number. Then if a restart triggered, $v0 would have been diff --git a/sysdeps/unix/sysv/linux/nios2/sysdep.h b/sysdeps/unix/sysv/linux/nios2/sysdep.h index 66a77f4..8cbeb42 100644 --- a/sysdeps/unix/sysv/linux/nios2/sysdep.h +++ b/sysdeps/unix/sysv/linux/nios2/sysdep.h @@ -190,6 +190,10 @@ #define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \ INTERNAL_SYSCALL_RAW(number, err, nr, args) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + #define LOAD_ARGS_0() #define LOAD_REGS_0 #define ASM_ARGS_0 diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.h b/sysdeps/unix/sysv/linux/sh/sysdep.h index 5226ff6..041d1e8 100644 --- a/sysdeps/unix/sysv/linux/sh/sysdep.h +++ b/sysdeps/unix/sysv/linux/sh/sysdep.h @@ -297,6 +297,10 @@ } \ (int) resultvar; }) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + #undef INTERNAL_SYSCALL #define INTERNAL_SYSCALL(name, err, nr, args...) \ ({ \ diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h index e215dbb..db4b993 100644 --- a/sysdeps/unix/sysv/linux/sparc/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h @@ -45,6 +45,10 @@ (long) resultvar; \ }) +#undef INLINE_VSYSCALL +#define INLINE_VSYSCALL(name, nr, args...) \ + INLINE_SYSCALL (name, nr, ##args) + #undef INTERNAL_SYSCALL_DECL #define INTERNAL_SYSCALL_DECL(err) \ register long err __asm__("g1");