mirror of git://git.musl-libc.org/musl
document pthread structure ABI constraints in comments
in the original submission of the patch that became commit
7c709f2d4f
, and in subsequent reading of
it by others, it was not clear that the new member had to be inserted
before canary_at_end, or that inserting it at that location was safe.
add comments to document.
This commit is contained in:
parent
e53296f889
commit
cc7c300d1a
|
@ -13,11 +13,15 @@
|
|||
#define pthread __pthread
|
||||
|
||||
struct pthread {
|
||||
/* Part 1 -- these fields may be external or
|
||||
* internal (accessed via asm) ABI. Do not change. */
|
||||
struct pthread *self;
|
||||
void **dtv, *unused1, *unused2;
|
||||
uintptr_t sysinfo;
|
||||
uintptr_t canary, canary2;
|
||||
pid_t tid, pid;
|
||||
|
||||
/* Part 2 -- implementation details, non-ABI. */
|
||||
int tsd_used, errno_val;
|
||||
volatile int cancel, canceldisable, cancelasync;
|
||||
int detached;
|
||||
|
@ -47,6 +51,9 @@ struct pthread {
|
|||
int dlerror_flag;
|
||||
void *stdio_locks;
|
||||
size_t guard_size;
|
||||
|
||||
/* Part 3 -- the positions of these fields relative to
|
||||
* the end of the structure is external and internal ABI. */
|
||||
uintptr_t canary_at_end;
|
||||
void **dtv_copy;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue