This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3 2/9] aarch64: Share code in syscall-cancel.h


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]