aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2014-05-22 16:57:20 -0400
committerRichard Henderson <rth@redhat.com>2014-05-29 12:53:27 -0400
commit1670e207c57513da84462c2a018f01653e7d1cc6 (patch)
treeb87c355139dbb7fb168ecb165c0bc56a0cd07d6f /ChangeLog
parent11a28aee60fae347aa7db306965297c24443ff88 (diff)
downloadglibc-1670e207c57513da84462c2a018f01653e7d1cc6.tar.xz
glibc-1670e207c57513da84462c2a018f01653e7d1cc6.zip
aarch64: Rely on syscalls preserving registers
In several cases we've had asm routines rely on syscalls not clobbering call-clobbered registers, and that's now deemed ABI. So take advantage of this in the INLINE_SYSCALL path as well. Shrinks libc.so by about 1k.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ea6ef9a2d..8e06a7e1c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2014-05-29 Richard Henderson <rth@twiddle.net>
+ * sysdeps/unix/sysv/linux/aarch64/sysdep.h (INTERNAL_VSYSCALL_NCS):
+ Remove comma before expanding ASM_ARGS_##nr.
+ (INTERNAL_SYSCALL_RAW): Make _sys_result signed, instead of casting.
+ Make _x0 a strict output; make _x8 a strict input; adjust expansion
+ of ASM_ARGS_##nr.
+ (CLOBBER_ARGS_0, CLOBBER_ARGS_1, CLOBBER_ARGS_2): Remove.
+ (CLOBBER_ARGS_3, CLOBBER_ARGS_4, CLOBBER_ARGS_5): Remove.
+ (CLOBBER_ARGS_6, CLOBBER_ARGS_7): Remove.
+ (ASM_ARGS_1): Add leading comma.
+
* sysdeps/unix/sysv/linux/aarch64/sysdep.h [NOT_IN_libc]
(SYSCALL_ERROR_HANDLER): Use tpidr_el0 instead of a call
to __errno_location.