This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 11/13] nptl: arm: Fix Race conditions in pthread cancellation (BZ#12683)
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: Phil Blundell <pb at pbcl dot net>, libc-alpha at sourceware dot org
- Date: Fri, 9 Oct 2015 10:59:24 -0300
- Subject: Re: [PATCH 11/13] nptl: arm: Fix Race conditions in pthread cancellation (BZ#12683)
- Authentication-results: sourceware.org; auth=none
- References: <1444234995-9542-1-git-send-email-adhemerval dot zanella at linaro dot com> <1444234995-9542-12-git-send-email-adhemerval dot zanella at linaro dot com> <1444318152 dot 5251 dot 6 dot camel at pbcl dot net> <5617C0DA dot 5000308 at linaro dot org>
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.
>>