X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Finternal%2Fpthread_impl.h;h=f6a4f2c28959a17d602fdbfae6e9b000cb4cf72a;hb=d889cc3463edc92869676c1eec34a8f52d942adb;hp=f0b2c20ca2ed4cd80ec5c6443fb3aa070baeb95c;hpb=32482f61da7650ff10741bd5aedd66bbc3ea165b;p=musl diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h index f0b2c20c..f6a4f2c2 100644 --- a/src/internal/pthread_impl.h +++ b/src/internal/pthread_impl.h @@ -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; @@ -46,6 +50,10 @@ struct pthread { char *dlerror_buf; 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; };