diff options
| author | Richard Henderson <rth@redhat.com> | 2014-05-22 16:57:20 -0400 |
|---|---|---|
| committer | Richard Henderson <rth@redhat.com> | 2014-05-29 12:53:27 -0400 |
| commit | 1670e207c57513da84462c2a018f01653e7d1cc6 (patch) | |
| tree | b87c355139dbb7fb168ecb165c0bc56a0cd07d6f /ChangeLog | |
| parent | 11a28aee60fae347aa7db306965297c24443ff88 (diff) | |
| download | glibc-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-- | ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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. |
