This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v3 2/9] aarch64: Share code in syscall-cancel.h
- From: Richard Henderson <rth at twiddle dot net>
- To: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>, Richard Henderson <rth at redhat dot com>
- Date: Wed, 28 May 2014 20:55:15 -0700
- Subject: Re: [PATCH v3 2/9] aarch64: Share code in syscall-cancel.h
- Authentication-results: sourceware.org; auth=none
- References: <1401046909-25821-1-git-send-email-rth at twiddle dot net> <1401046909-25821-3-git-send-email-rth at twiddle dot net> <CAFqB+Pw-Ckg3zAPDRWZZsjZEeDAL__B-sf-24xTcme4NKSFACg at mail dot gmail dot com>
On 05/28/2014 08:21 PM, Marcus Shawcroft wrote:
> On 25 May 2014 20:41, Richard Henderson <rth@twiddle.net> wrote:
>> From: Richard Henderson <rth@redhat.com>
>
>> # undef PSEUDO
>> # define PSEUDO(name, syscall_name, args) \
>> .section ".text"; \
>> - .type __##syscall_name##_nocancel,%function; \
>> - .globl __##syscall_name##_nocancel; \
>> -__##syscall_name##_nocancel: \
>> - cfi_startproc; \
>> +ENTRY (__##syscall_name##_nocancel); \
>
> This hunk simply switches to the use of ENTRY(), which looks OK.
>
>> +.Lpseudo_nocancel: \
>> DO_CALL (syscall_name, args); \
>> +.Lpseudo_finish: \
>> cmn x0, 4095; \
>> b.cs .Lsyscall_error; \
>> - PSEUDO_RET; \
>> - cfi_endproc; \
>
> I think there is a 'ret' missing here ?
That happens in the main assembly file, in the form of
PSEUDO(xxx)
ret <- here
PSEUDO_END(xxx)
The .subsection and .previous in that macro let the main body above appear in
the middle in the proper place.
r~