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: Florian Weimer <fweimer at redhat dot com>
- To: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 14 Feb 2017 11:03:15 +0100
- 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>
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.
Thanks,
Florian