This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 3/6] aarch64: Tidy syscall error check
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: GNU C Library <libc-alpha at sourceware dot org>, Richard Henderson <rth at redhat dot com>, will dot newton at linaro dot org
- Date: Thu, 22 May 2014 12:50:26 +0100
- Subject: Re: [PATCH 3/6] aarch64: Tidy syscall error check
- Authentication-results: sourceware.org; auth=none
- References: <1400619378-7262-1-git-send-email-rth at twiddle dot net> <1400619378-7262-4-git-send-email-rth at twiddle dot net>
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