This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2 1/9] aarch64: Remove DOARGS/UNDOARGS macros
- From: Richard Henderson <rth at twiddle dot net>
- To: libc-alpha at sourceware dot org
- Cc: marcus dot shawcroft at gmail dot com, Richard Henderson <rth at redhat dot com>
- Date: Fri, 23 May 2014 17:11:41 -0700
- Subject: [PATCH v2 1/9] aarch64: Remove DOARGS/UNDOARGS macros
- Authentication-results: sourceware.org; auth=none
- References: <1400890309-16710-1-git-send-email-rth at twiddle dot net>
From: Richard Henderson <rth@redhat.com>
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__ */
--
1.9.0