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 11/13] nptl: arm: Fix Race conditions in pthread cancellation (BZ#12683)



On 09-10-2015 10:27, Adhemerval Zanella wrote:
> 
> 
> On 08-10-2015 12:29, Phil Blundell wrote:
>> On Wed, 2015-10-07 at 13:23 -0300, Adhemerval Zanella wrote:
>>> From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>>>
>>> This patch adds the ARM modifications required for the BZ#12683 fix.
>>> It basically removes the enable_asynccancel/disable_asynccancel
>>> function
>>> usage on code, provide a arch-specific symbol that contains global
>>> markers to be used in SIGCANCEL handler.
>>>
>>> Checked on armhf.
>>
>> What architecture variant specifically?  Have you verified that this at
>> least compiles on older arches?  (I think we still support everything
>> back to ARMv4.)
> 
> I checked on arm7l and arm8l.  I will try with a build for armv4.
> 
>>
>>>
>> +	PSEUDO_CANCEL_BEFORE;					
>>> 	\
>>> +	ldr	r0, =SYS_ify (syscall_name);			
>>> 	\
>>> +	PSEUDO_CANCEL_AFTER;						
>>>
>>
>> It's still not very clear to me that the PSEUDO_CANCEL_BEFORE and
>> PSEUDO_CANCEL_AFTER macros are achieving anything other than making the
>> code harder to read.  Is there any reason these couldn't just be
>> written in line?
> 
> Indeed, I will change it.

I just recalled why I had to continue use PSEUDO_CANCEL_AFTER/BEFORE:
the c-preprocesso complains with the use of # (in stack and .pad handling)
in the c-macro definition.  I am not well versed in ARM assembly, so if
you have an alternative way to define constants without '#' let me know.

> 
>>
>> p.
>>


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