summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2014-05-22 11:38:05 -0400
committerWill Newton <will.newton@linaro.org>2014-07-03 14:47:26 +0100
commit5d9669e35f4831b315d1989256b9434976fb2230 (patch)
tree3f8654f0c2359a49d805726248e5a37d90536157
parent98d05b184fa3ddfad718544c4d8f5c12740018a8 (diff)
aarch64: Remove DOARGS/UNDOARGS macros
While they do something for AArch32, they're useless for AArch64.
-rw-r--r--libc/ports/ChangeLog.aarch64.linaro8
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h3
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h22
3 files changed, 9 insertions, 24 deletions
diff --git a/libc/ports/ChangeLog.aarch64.linaro b/libc/ports/ChangeLog.aarch64.linaro
index a14c65fb5..ca7831340 100644
--- a/libc/ports/ChangeLog.aarch64.linaro
+++ b/libc/ports/ChangeLog.aarch64.linaro
@@ -1,5 +1,13 @@
2014-05-21 Richard Henderson <rth@redhat.com>
+ * sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
+ Do not use DOARGS/UNDOARGS.
+ * sysdeps/unix/sysv/linux/aarch64/sysdep.h (DO_CALL): Likewise.
+ (DOARGS_0, DOARGS_1, DOARGS_2, DOARGS_3): Remove.
+ (DOARGS_4, DOARGS_5, DOARGS_6, DOARGS_7): Remove.
+ (UNDOARGS_0, UNDOARGS_1, UNDOARGS_2, UNDOARGS_3): Remove.
+ (UNDOARGS_4, UNDOARGS_5, UNDOARGS_6, UNDOARGS_7): Remove.
+
* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
(SINGLE_THREAD_P): Use the correct width load. Fold
into the ldr offset.
diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
index 24fae7be1..957bb9959 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
+++ b/libc/ports/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/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index 88325a367..6cd219a72 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -176,28 +176,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__ */