This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCHi v2] aarch64: Add split-stack TCB field
- From: Carlos O'Donell <carlos at redhat dot com>
- To: Florian Weimer <fweimer at redhat dot com>, Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- Cc: libc-alpha at sourceware dot org
- Date: Mon, 13 Mar 2017 21:17:57 -0400
- Subject: Re: [PATCHi v2] aarch64: Add split-stack TCB field
- Authentication-results: sourceware.org; auth=none
- References: <1487015120-29166-1-git-send-email-adhemerval.zanella@linaro.org> <bef07cb8-cda0-7569-c337-c7ad09abf488@redhat.com>
On 02/14/2017 05:03 AM, Florian Weimer wrote:
> On 02/13/2017 08:45 PM, Adhemerval Zanella wrote:
>> +/* This is the size we need before TCB. Check if there is room
>> for + tcbprehead_t in struct pthread's final padding and if not
>> add it on + required pre-tcb size. */ +# define TLS_PRE_TCB_SIZE
>> \ + (sizeof (struct pthread) \ + +
>> (PTHREAD_STRUCT_END_PADDING < sizeof (tcbprehead_t) \ +
>> ? ALIGN_UP (sizeof (tcbprehead_t), sizeof (struct pthread)) \ +
>> : 0))
>
> How does this preserve the alignment of struct pthread?
>
> It's also not clear to me how the “version control” aspect of
> __tcb_private_ss is supposed to work. If the intent is to prevent
> loading of split-stack binaries with an older glibc, then a data
> symbol would be a safer choice.
Why is a data symbol a safer choice?
I'm curious, because I recommended the design pattern that Adhemerval
is copying from the POWER example.
--
Cheers,
Carlos.