mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-12 19:04:54 +03:00
Revert "nptl: More useful padding in struct pthread"
This reverts commit 7c22dcda27
.
The padding is required by Chromium's MaybeUpdateGlibcTidCache
in sandbox/linux/services/namespace_sandbox.cc.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
12
nptl/descr.h
12
nptl/descr.h
@@ -129,6 +129,8 @@ struct priority_protection_data
|
|||||||
/* Thread descriptor data structure. */
|
/* Thread descriptor data structure. */
|
||||||
struct pthread
|
struct pthread
|
||||||
{
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
#if !TLS_DTV_AT_TP
|
#if !TLS_DTV_AT_TP
|
||||||
/* This overlaps the TCB as used for TLS without threads (see tls.h). */
|
/* This overlaps the TCB as used for TLS without threads (see tls.h). */
|
||||||
tcbhead_t header;
|
tcbhead_t header;
|
||||||
@@ -155,6 +157,13 @@ struct pthread
|
|||||||
} header;
|
} header;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* This extra padding has no special purpose, and this structure layout
|
||||||
|
is private and subject to change without affecting the official ABI.
|
||||||
|
We just have it here in case it might be convenient for some
|
||||||
|
implementation-specific instrumentation hack or suchlike. */
|
||||||
|
void *__padding[24];
|
||||||
|
};
|
||||||
|
|
||||||
/* This descriptor's link on the GL (dl_stack_used) or
|
/* This descriptor's link on the GL (dl_stack_used) or
|
||||||
GL (dl_stack_user) list. */
|
GL (dl_stack_user) list. */
|
||||||
list_t list;
|
list_t list;
|
||||||
@@ -398,9 +407,6 @@ struct pthread
|
|||||||
/* getrandom vDSO per-thread opaque state. */
|
/* getrandom vDSO per-thread opaque state. */
|
||||||
void *getrandom_buf;
|
void *getrandom_buf;
|
||||||
|
|
||||||
/* Can be used for backports preserving internal TCB layout. */
|
|
||||||
void *padding[8];
|
|
||||||
|
|
||||||
/* rseq area registered with the kernel. Use a custom definition
|
/* rseq area registered with the kernel. Use a custom definition
|
||||||
here to isolate from kernel struct rseq changes. The
|
here to isolate from kernel struct rseq changes. The
|
||||||
implementation of sched_getcpu needs acccess to the cpu_id field;
|
implementation of sched_getcpu needs acccess to the cpu_id field;
|
||||||
|
Reference in New Issue
Block a user