[PATCH 3/6] aarch64: Tidy syscall error check
Marcus Shawcroft
marcus.shawcroft@gmail.com
Thu May 22 13:43:00 GMT 2014
On 20 May 2014 21:56, Richard Henderson <rth@twiddle.net> wrote:
> From: Richard Henderson <rth@redhat.com>
>
> Move the error branch from the PSEUDO_RET macro to the PSEUDO macro.
> This is in line with other architectures, and will enable further improvments.
>
> * sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
> Branch to .Lsyscall_error on error. Do not call DOARGS/UNDOARGS.
> * sysdeps/unix/sysv/linux/aarch64/sysdep.h (PSEUDO): Branch to
> .Lsyscall_error on error.
> (PSEUDO_RET): Do not check for error.
> (SYSCALL_ERROR) [NOT_IN_libc]: Use .Lsyscall_error.
> (SYSCALL_ERROR_HANDLER) [!NOT_IN_libc]: Branch to __syscall_error.
> SINGLE_THREAD_P; \
> - DOARGS_##args; \
> bne .Lpseudo_cancel; \
> DO_CALL (syscall_name, 0); \
> - UNDOARGS_##args; \
> cmn x0, 4095; \
If we drop the removal of DOARGS and UNDOARGS and take that cleanup
separately then the remainder of this patch looks OK to me.
/Marcus
More information about the Libc-alpha
mailing list