From patchwork Sat May 24 00:11:41 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 1122 Received: (qmail 23725 invoked by alias); 24 May 2014 00:12:09 -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 23580 invoked by uid 89); 24 May 2014 00:12:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL, BAYES_50, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qc0-f180.google.com X-Received: by 10.140.28.3 with SMTP id 3mr11103244qgy.71.1400890325338; Fri, 23 May 2014 17:12:05 -0700 (PDT) From: Richard Henderson To: libc-alpha@sourceware.org Cc: marcus.shawcroft@gmail.com, Richard Henderson Subject: [PATCH v2 1/9] aarch64: Remove DOARGS/UNDOARGS macros Date: Fri, 23 May 2014 17:11:41 -0700 Message-Id: <1400890309-16710-2-git-send-email-rth@twiddle.net> In-Reply-To: <1400890309-16710-1-git-send-email-rth@twiddle.net> References: <1400890309-16710-1-git-send-email-rth@twiddle.net> From: Richard Henderson While they do something for AArch32, they're useless for AArch64. --- .../unix/sysv/linux/aarch64/nptl/sysdep-cancel.h | 3 --- sysdeps/unix/sysv/linux/aarch64/sysdep.h | 24 ++-------------------- 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h index 24fae7b..957bb99 100644 --- a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h +++ b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h @@ -38,10 +38,8 @@ .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \ ENTRY (name); \ SINGLE_THREAD_P; \ - DOARGS_##args; \ bne .Lpseudo_cancel; \ DO_CALL (syscall_name, 0); \ - UNDOARGS_##args; \ cmn x0, 4095; \ PSEUDO_RET; \ .Lpseudo_cancel: \ @@ -60,7 +58,6 @@ ldr x30, [sp], 16; \ cfi_adjust_cfa_offset (-16); \ cfi_restore (x30); \ - UNDOARGS_##args; \ cmn x0, 4095; # define DOCARGS_0 \ diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h index 8397ad3..cffd008 100644 --- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h +++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h @@ -148,7 +148,7 @@ __local_syscall_error: \ # endif /* Linux takes system call args in registers: - syscall number in the SVC instruction + syscall number x8 arg 1 x0 arg 2 x1 arg 3 x2 @@ -172,28 +172,8 @@ __local_syscall_error: \ # undef DO_CALL # define DO_CALL(syscall_name, args) \ - DOARGS_##args \ mov x8, SYS_ify (syscall_name); \ - svc 0; \ - UNDOARGS_##args - -# define DOARGS_0 /* nothing */ -# define DOARGS_1 /* nothing */ -# define DOARGS_2 /* nothing */ -# define DOARGS_3 /* nothing */ -# define DOARGS_4 /* nothing */ -# define DOARGS_5 /* nothing */ -# define DOARGS_6 /* nothing */ -# define DOARGS_7 /* nothing */ - -# define UNDOARGS_0 /* nothing */ -# define UNDOARGS_1 /* nothing */ -# define UNDOARGS_2 /* nothing */ -# define UNDOARGS_3 /* nothing */ -# define UNDOARGS_4 /* nothing */ -# define UNDOARGS_5 /* nothing */ -# define UNDOARGS_6 /* nothing */ -# define UNDOARGS_7 /* nothing */ + svc 0 #else /* not __ASSEMBLER__ */